day 1 快速排序

2021-07-29 15:53:41 字數 664 閱讀 8687

#include using namespace std;

void qsort(int a, int low, int high)

int first = low;

int last = high;

int key = a[first];/*用字表的第乙個記錄作為樞軸*/

while(first < last)

a[first] = a[last];/*將比第乙個小的移到低端*/

while(first < last && a[first] <= key)

a[last] = a[first];

/*將比第乙個大的移到高階*/

}a[first] = key;/*樞軸記錄到位*/

qsort(a, low, first-1);

qsort(a, first+1, high);

}int main()

; qsort(a, 0, sizeof(a) / sizeof(a[0]) - 1);/*這裡原文第三個引數要減1否則記憶體越界*/

for(int i = 0; i < sizeof(a) / sizeof(a[0]); i++)

return 0;

}/*參考資料結構p274(清華大學出版社,嚴蔚敏)*/

排序演算法Day1

include mysort.h include include include include include include include using namespace std 插入排序 時間複雜度 平均哦o n 2 完全有序時o n 空間複雜度o 1 穩定 思想 把待排序列分為有序序列和無...

資料結構學習day1 快速排序

快速排序 1.設定變數i 0,j n 1,設定關鍵資料,也就是比較的資料key,key可以隨便取,也可以取key a 0 2.從j開始向前搜尋 j 找到第乙個小於key的值a j 將a j 的值賦給a i 3.從i開始向後搜尋 i 找到第乙個大於key的a i 將a i 的值賦給a j 4.重複第2...

Day1 冒泡演算法 1

bubble sort 背後的想法非常簡單,我們檢視陣列中相鄰的成對元素,一次檢視一對。如果第乙個元素大於第二個元素,則交換它們的位置,否則將它們繼續移動。def bubble sort our list for i in range len our list 1 if our list i our...