C語言 陣列排序法總結

2022-05-07 18:06:08 字數 553 閱讀 5937

//快速排序法

void quicksort(int *a, int left, int right)

while (i < j)

a[i] = a[j];

while ((i < j) && (k >= a[i]))

a[j] = a[i];

} a[i] = k;

quicksort(a, left, i-1);

quicksort(a, i+1, right);

}//氣泡排序法

void bubblesort(int *a, int len)

}}//選擇排序法

//找出最小值與第乙個位置交換,在剩餘的找出最小值與第二個位置交換,以此類推

void selectsort(int *a, int len)

} if (tmp != a[i])

}}//插入排序法

//從第二個位置起依次將此數插入前面,使前面的數保持排好的順序

void insertsort(int *a, int len)

} }}

C語言陣列排序總結

1 冒泡法 冒泡法大家都較熟悉。其原理為從a 0 開始,依次將其和後面的元素比較,若a 0 a i 則交換它們,一直比較到a n 同理對a 1 a 2 a n 1 處理,即完成排序。下面列出其 void bubble int a,int n 定義兩個引數 陣列首位址與陣列大小 冒泡法原理簡單,但其缺...

C語言 氣泡排序法總結彙總

如果有n個數進行氣泡排序,那麼需要經過n 1趟排序,第一趟n 1次兩兩比較,第n 1趟進行1次兩兩比較,即第j趟進行n j次兩兩比較。趟數決定了比較的次數,用兩個for迴圈聯絡起來,當然也有其他的辦法,後續補充。如圖所示 定義行列和十個數 for i 0 i 10 i 變數i表示比較的趟數 for ...

C語言 氣泡排序法

此題的解決思路為 對於一組數字的排序,我們通過迴圈比較兩個相鄰元素的大小,若為公升序排列則將最大值替換到最後。這樣依次類推進行多趟氣泡排序即可將這組數字公升序排列。例如 10,9,8,7,6,5,4,3,2,1 通過一趟氣泡排序,我們將10置於最後一位。9,8,7,6,5,4,3,2,1,10 第二...