选择排序 C++
選擇排序的時間復雜度為o(n*n),空間復雜度為o(n)。
邏輯分析:
1 假設數組中的最小數為a[0],然后比較數組中其他數與a[0]的大小,若a[i]<a[0],則交換兩者為止,如此循環下來,最小的數字就存在a[0]里面啦。
2 然后繼續將a[1]中存訪后面元素最小的,一直到排序完成。
是不是很簡單,對,就這么簡單。
#include<iostream> #include<cstdlib>using namespace std;void swap(int &a, int &b) {int temp = a;a = b;b = temp; }void selectSort(int a[], int length) {for (int j = 0; j < length; j++){for (int i = j+1; i < length; i++){if (a[i] <a[j]){swap(a[i], a[j]);}}}}int main() {int a[] = { 2,1,4,5,3,8,7,9,0,6 };selectSort(a, 10);for (int i = 0; i < 10; i++){cout << a[i] << " ";}cout << endl;system("pause");return 0;}?
總結
- 上一篇: 什么时候喝黑咖啡减肥效果最好
- 下一篇: 核桃减肥期间可以吃吗