快速排序,選擇排序

2021-06-18 14:58:20 字數 1249 閱讀 5525

選擇排序

123

4567

891011

1213

1415

1617

1819

2021

2223

int

selectionsort

(int

argv

,int

size

)// 選擇排序}if

(minindex!=i

)

}return

time

; }

來自code的**片

selectionsort.cpp

快速排序

123

4567

891011

1213

1415

1617

1819

2021

2223

2425

2627

2829

30

int

quicksort

(int

argv

,int

low,

inthigh

)

argv[l

]=argv[h

];// 把小的數放l的位置。argv[h]相當於變為空位(資料已經移走,但沒有清除)

while(l

argv[l

]<=k)

// 從l開始往後找到第乙個大於k的下標記做l

argv[h

]=argv[l

];// 把找到的大數放到argv[h]和空位中,argv[l]相當於變為空位(資料已經移走,但沒有清除)。

}argv[l

]=k;

// 把k空位argv[l]中。此時完成了把k放入最終的位置並把小於k的數放在k左邊,大於k的數放在k的右邊。

quicksort

(argv

,low,l

-1);// 此時l位置的數為從low到l之間的最大數

quicksort

(argv,l

+1,high

);// 此時l位置的數為從l到ligh之間的最小數

return

time

; }

來自code的**片

選擇排序,快速排序

二 快速排序 學習各種排序演算法,後續會繼續補充。例 對資料從小到大進行排序 先在列表中檢查每個元素找到最小的 需要的時間o n 執行n次這樣的操作 需要的總時間o n n n nn n 即o n 2n 2 n2 def findsmallest arr smallest arr 0 smalles...

氣泡排序,選擇排序,快速排序

1.氣泡排序 氣泡排序 bubble sort 最為簡單的一種排序,通過重複走完陣列的所有元素,通過打擂台的方式兩個兩個比較,直到沒有數可以交換的時候結束這個數,再到下個數,直到整個陣列排好順序。因乙個個浮出所以叫氣泡排序。雙重迴圈時間o n 2 void bubblesort int arr in...

氣泡排序 選擇排序 快速排序

氣泡排序的思想在於,不斷地將當前元素與後乙個元素進行比較,如果當前元素較小,則調換當前元素與後乙個元素的位置,否則保持不變 假設需要排序的元素一共有n個,從第乙個元素開始,對後續的 n 2 元素進行上述比較,最終的排序結果中,最後的元素是最大值。def bubble sort alist n len...