//氣泡排序
void bubblesort(int arr,int len)
//插入排序
void insertsort(int arr,int len)
}//選擇排序
void selectsort(int arr,int len)
}//shell排序(增量排序)
void shellsort(int arr,int len)
arr[s] = key;
return s;
}//堆排序
void heapaddjust(int arr,int start,int len);
void heapsort(int arr,int len)
}void heapaddjust(int arr,int start,int len)
{ int key = arr[start],j;
while((start*2+1)<=len)
{j = start*2+1;
if(j以上**經過gcc測試vc編譯器可能需要修改
另外看到乙個不錯的的帖子帶動畫很容易理解
七大排序演算法
氣泡排序 void bubble int a,int n 選擇排序 void select sort int a,int n n為陣列a的元素個數 將第i 小的數,放在第i 個位置 如果剛好,就不用交換 if i min index 插入排序 typedef int elementtype void...
七大排序演算法
七大排序分類 插入排序 直接插入排序 穩定 希爾排序 不穩定 選擇排序 簡單選擇排序 穩定 堆排序 不穩定 交換排序 氣泡排序 穩定 快速排序 不穩定 歸併排序。直接插入排序 時間複雜度 o n 2 演算法穩定性 穩定void straightinsertsort int a,int n 氣泡排序 ...
七大排序演算法
首先回顧下各種排序的主要思路 一 氣泡排序 氣泡排序主要思路是 通過交換使相鄰的兩個數變成小數在前大數在後,這樣每次遍歷後,最大的數就 沉 到最後面了。重複n次即可以使陣列有序。氣泡排序改進1 在某次遍歷中如果沒有資料交換,說明整個陣列已經有序。因此通過設定標誌位來記錄此次遍歷有無資料交換就可以判斷...