#include
using namespace std;
void print(int a,int n)
//將原來根節點的值賦給較大值孩子的位置
a[s] = temp;
}void heap(int a,int n)
for(i = n; i>1; i--)
print(a,n);
}//氣泡排序 首先對迴圈次數進行遍歷
//然後開始兩兩比較,每一次i迴圈得到乙個最大值,放在最後(第一次房在a[n-1];
//直至排好所有資料
void bubble(int a,int n)
}print(a,n);}}
void insert(int a, int n)
couta[j+1] = temp;
print(a,n);}}
//希爾排序作為直接插入排序的公升級,將上面的1改為gap即可
//當然要注意gap 一直除以2直至為1
void shell(int a,int n)
a[j+gap] = temp;
}print(a,n);
gap = gap/2;}}
//快速排序,找乙個初值,然後兩端掃瞄,最後一段比初值大一邊比初值小
//繼續按照這樣遞迴
void qsort(int a,int low,int high)
a[i] = temp;
qsort(a,low,i-1);
qsort(a,i+1,high);}}
void quicksort(int a,int n)
//簡單選擇排序 初始化最小值的位置,然後遍歷比他小的 改變min值,並且交換對應的資料值
void ******select(int a,int n)
int temp = a[i];
a[i] = a[min];
a[min] = temp;
print(a,n);}}
int main()
python資料結構 最全的六種排序
1.氣泡排序 比較相鄰的元素,如果第乙個比第二個大,那就交換位置 讓大的元素跟下乙個相鄰的元素作比較,如果大於交換位置 對所有元素重複以上步驟 除了最後乙個 直到沒有任何乙個需要作對比 2.選擇排序 從未排序序列中找到最小的元素放到序列的初始位置,再從剩餘未排序序列中找到最小的元素放到已排序序列的末...
python資料結構 最全的六種排序
1.氣泡排序 比較相鄰的元素,如果第乙個比第二個大,那就交換位置 讓大的元素跟下乙個相鄰的元素作比較,如果大於交換位置 對所有元素重複以上步驟 除了最後乙個 直到沒有任何乙個需要作對比 2.選擇排序 從未排序序列中找到最小的元素放到序列的初始位置,再從剩餘未排序序列中找到最小的元素放到已排序序列的末...
演算法的六種排序
一 選擇排序法 簡單選擇排序是最簡單直觀的一種演算法,基本思想為每一趟從待排序的資料元素中選擇最小 或最大 的乙個元素作為首元素,直到所有元素排完為止,簡單選擇排序是不穩定排序。for int i 0 i arr.length 1 i 簡單選擇排序通過上面優化之後,無論陣列原始排列如何,比較次數是不...