排序 選擇排序

2021-08-18 22:37:52 字數 863 閱讀 9617

選擇排序是一種基於比較的簡單排序(不穩定)。 它的基本原理是:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。

演算法描述:

演算法的時間複雜度:

選擇排序的時間複雜度取決於趟數和尋找最小(最大)元素時間的累積,與原始資料的有序性無關。該演算法的平均時間複雜度為o(n^2), 最好時間複雜度o(n^2),最壞時間複雜度o(n^2)。

**實現:

#include using namespace std;

void swap(int *a, int *b)

void select(int arr, int len) }

swap(arr[min], arr[0]);

}void selectionsort1(int arr, int len)

void selectionsort2(int arr, int len) }

swap(arr[min], arr[0]);

selectionsort2(arr+1, len-1);

}void selectionsort3(int arr, int len)

}swap(arr[min], arr[i]); }

}int main()

; selectionsort3(arr, 10);

for(int i = 0; i != 10; i++ )

cout << arr[i] << " ";

cout << endl;

}

執行結果:

1 2 3 4 5 6 9 13 18 25

排序 選擇排序 選擇排序 堆排序

寫在前面 上傳github交換排序選擇排序 堆排序 選擇排序 顧名思義,我們就可以猜到,它是原則合適的元素放到合適的位置 從圖中,我們可以得到 1.用第乙個元素,和其他所有的元素進行比較,找出最小的,然後進行交換 2.然後進行,資料的遞增 3.直到資料全部有序 void selectsort int...

排序 選擇排序(直接選擇排序 堆排序)

選擇排序 selection sort 的基本思想是 每一趟從待排序的記錄中選出關鍵字最小的記錄,順序放在已排好序的子檔案的最後,直到全部記錄排序完畢。常用的選擇排序方法有 直接選擇排序 和堆排序。直接選擇排序 straight selection sort 1 直接選擇排序的基本思想 n個記錄的檔...

排序2 選擇排序 選擇排序 堆排序

選擇排序,依次找到資料集n n 1 n 2 中比它大 小的最大 最小者,最終達到全部資料有序。1 選擇排序 直接的依次找到資料集合n n 1 n 2.的最大 最小者形成排序,非常好理解。選擇排序可能是和氣泡排序一樣,最直觀能想到的排序方法。顯然選擇排序和氣泡排序一樣,無所謂最好 最壞 平均,選擇排序...