十大排序之C語言

2021-10-02 02:48:04 字數 501 閱讀 6921

基本思想:比較相鄰的兩個數,如果前者比後者大,則進行交換。每一輪排序結束,選出乙個未排序中最大的數放到陣列後面。

首先,要了解什麼是氣泡排序。氣泡排序是常用的一種排序方法,其基本方法就是逐次比較。即一次比較兩個數,若它們的順序錯誤,則它們交換;重複進行,直到沒有需要交換為止。

1.1 演算法描述

比較相鄰數字的大小,若第乙個數比第二個數大,則相互交換

對每一對相鄰的數作相同的工作,那麼最後的數應該是最大的數;

針對所有數(除了最後乙個)重複上述步驟,直到沒有任何一對數字需要比較為止。

#include "stdio.h"

void main();

int n=sizeof(a)/sizeof(a[0]);

printf("n=%d\n",n);

for(i=0;ia[j+1])

} for(p=0;pprintf("%-5d\t",a[

十大排序演算法 桶排序(C語言)

桶排序 bucket sort 或所謂的箱排序,是乙個排序演算法,工作的原理是將陣列分到有限數量的桶子裡。每個桶子再個別排序 有可能再使用別的排序演算法或是以遞迴方式繼續使用桶排序進行排序 把待排序序列中的資料根據函式對映方法分配到若干個桶中,在分別對各個桶進行排序,最後依次按順序取出桶中的資料。適...

十大排序演算法(c )

1.氣泡排序 每一輪都從頭開始比較,比較當前數與後一位數,若當前數大於後一位數則進行交換,每一輪都會在末尾得到一位排序正確的數,因此每一輪比較結束,下一輪的比較範圍將縮小 ja j 1 if ischange break 2.插入排序 每一輪將當前數 a i 插入到前面已經排序好的合適位置,因此關鍵...

十大排序演算法(C )

原理 比較相鄰兩個元素,如果前乙個比後乙個大則交換二者位置 以公升序為例 每進行一輪比較則可以把最大的元素放到相對最後的位置。每進行一輪比較就會有乙個元素變為有序。迴圈對每輪越來越少的元素進行比較則最終變為有序序列。如果序列元素初始時為有序,則一輪則可進行排序完畢,最好時間複雜度為o n 如果序列元...