資料結構簡單的六種排序演算法

2021-06-27 22:45:58 字數 1001 閱讀 2596

#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 簡單選擇排序通過上面優化之後,無論陣列原始排列如何,比較次數是不...