選擇排序的核心是:每趟選擇最小的元素和首部交換。
時間複雜度:o(n^2)。
選擇排序是一種不穩定的排序,為什麼呢?因為不好處理相等兩個數的前後位置,舉個例子,序列5 8 5 2 9, 我們知道第一遍選擇第1個元素5會和2交換,那麼原序列中2個5的相對前後順序就被破壞了,所以選擇排序不是乙個穩定的排序演算法。所以穩定排序是一定不會改變相等數之間之前位置關係的。
實現**如下:
#includeusing namespace std;
void selectsort(int a, int n)
if(a[minindex] < a[i])
swap(a[minindex], a[i]); }}
int main()
; selectsort(a, 6);
for(int i = 0; i < 6; i++)
cout<
資料結構 排序 選擇排序
選擇排序 所謂選擇排序,就是不斷從剩下的元素中選擇最小的元素放入前面,那麼 前面 我們就從下標為 0 i 0 的第乙個元素開始 此時我們假設下標為 0 的元素是最小的,minindex 0,minindex 就是最小值的索引 相應的剩下的元素則從 i 1 的位置開始,也就是從 1 開始,然後依次與 ...
資料結構 排序(選擇排序)
排序 選擇排序法 include include include include 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法 ...
資料結構排序系列之選擇排序(三)
選擇排序有直接選擇排序和堆排序。基本思想 每一趟在待排序的記錄中選出關鍵字最小的元素,依次存放在已排好序的序列的最後。直到所有元素都好排好序為止。演算法思想 每次從待排序的無序區中選出關鍵字最小的元素,將該元素與該無序區中的第乙個元素交換位置。初始時,從 0 n 1 選出乙個關鍵字最小的元素,與r ...