常見的三種排序演算法

2021-10-10 23:36:47 字數 1022 閱讀 7439

常見的三種排序演算法:氣泡排序,選擇排序,插入排序

- 氣泡排序(穩定):

重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。

//兩兩比較

intmain()

;for

(i=0

; i1; i++

)//決定裡面的迴圈迴圈幾輪}}

//列印結果

for(i=

0; i)printf

("%d "

,buf[i]);

printf

("\n");

}

int

main()

;int n =5;

int i,j,k;

int tmp;

for(i=

0;i1;i++)if

(i != k)}}

for(i=

0; i<

5; i++

)printf

("%d "

,a[i]);

printf

("\n");

}

//[1] 3 7 8 5

//[1 3] 7 8 5

//.....

//[1 3 7 8] 5

//[1 3 5 7 8]

intmain()

;int tmp;

int n =5;

int j,i;

for(i=

1; i)else

} a[j+1]

= tmp;

}//列印結果

for( i=

0; i)printf

("%d "

,a[i]);

}

以上三種演算法時間複雜度均為:o(n^2)。

三種常見的排序演算法

剛開始的時候也聽過學長說什麼什麼排序之類的,到剛聽得時候是各種姿勢懵逼啊,學習了一段時間的c語言之後,才有點明白所謂的排序是什麼,現在就來羅列一下三種常用的排序法氣泡排序法,插入排序法和選擇排序法。氣泡排序啊,這是我聽過最多的乙個排序方法了,他的基本思想也比較簡單,就是不斷比較相鄰的兩個數,讓較小的...

三種排序演算法

1.氣泡排序法 2.選擇排序法 3.插入排序法 由小到大的順序 備註 網上筆試題,是參考網上別人的,具體出處找不到了,請諒解。摘抄記錄下來方便日後學習。如果有問題盡請批評指正,希望可以和大神一起交流。氣泡排序的最好的時間複雜度為o n 最壞的時間為 o n 2 演算法的平均時間複雜度為o n 2 選...

三種最常見的排序

非常恨那些把演算法排序之類的搞得異常麻煩的人,盡可能簡單一點,簡單了,容易理解了,才好記,上了戰場,才用得著.人家的不好用,只好自己總結,重寫原理與過程.口訣 冒泡 n 1,n i 1,比的是j與j 1 插入 n 1,i 1,比的是i 1與j 選擇 n,n,開始變成i 1,比的卻是i與j packa...