選擇排序
1234567
891011
1213
1415
1617
1819
2021
2223
intselectionsort
(int
argv
,int
size
)// 選擇排序}if
(minindex!=i
)
}return
time
; }
來自code的**片
selectionsort.cpp
快速排序
1234567
891011
1213
1415
1617
1819
2021
2223
2425
2627
2829
30
intquicksort
(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...