氣泡排序及其推理方法

2021-07-06 04:42:54 字數 976 閱讀 8829

/*

5  4  3  2  1

第0輪:4  5  3  2  1

4  3  5  2  1

4  3  2  5  1

4  3  2  1  5

比較4次

第1輪:3  4  2  1  5

3  2  4  1  5

3  2  1  4  5

比較3次

第2輪:2  3  1  4  5

2  1  3  4  5

比較2次

第3輪:1  2  3  4  5

比較1次

一共比較了多少輪?=  長度-1-1

`注意 :實際中應為寫雙層for迴圈時一般是以int i = 0;開始,所以輪數一般寫為: i < length - 1

//求出長度

int length = sizeof(nums)/sizeof(int);

//遍歷

for(int i = 0;

i < length - 1

;i++){}

如果 i <= length,那麼 輪數的控制就要寫為 i <=length - 1 - 1

每輪比較的次數 =  長度 - 輪數 - 1

*/#include

int main(int argc, const

char * argv) ;

int nums = ;

int len = sizeof(nums) / sizeof(int);

for (int i=0; i

printf("%d\n",nums[i]);

}printf("-------以上是交換之前--------\n");

for (int i=0; i<= len-1-1; i++) }}

for (int i=0; i

printf("%d\n",nums[i]);

}return 0;

}

排序 氣泡排序及其優化

氣泡排序算是初學者都會寫的吧,我的 竟然沒有,這次就跟著排序一起發出來吧!3.氣泡排序優化 氣泡排序 void bubblesort 1 int array,int size 2.1 優化方案void bubblesort 1 int array,int size if ischange retur...

氣泡排序及其改進

1.排序思想 氣泡排序也是非常簡單的排序演算法,易於理解。要點 1 也把陣列看作有序和無序部分,初始時將整個陣列視為無序 2 每次遍歷陣列中的無序部分,且兩兩比較,並將兩者中較大的元素置於後面一位,則一趟遍歷完成後,最大元素自然 沉到 無序部分的最後一位 3 減小無序部分的長度,迴圈第二步,直到陣列...

氣泡排序及其改進

氣泡排序作為最經典的演算法,雖然對大資料無用武之地。但是對於少量的資料,我們用氣泡排序,在時間複雜度上也是可以接受的,又因為它實現起來比較簡單,所以也經常的被人們使用。並且可以通過一些方法來改進最原始的氣泡排序,這種改進演算法的思路也有可取之處。前一兩天參加宜搜科技的筆試,就考到了氣泡排序。我當時就...