十大經典排序演算法(二 選擇排序)

2022-07-18 22:06:37 字數 970 閱讀 9484

首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。

再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。

重複第二步,直到所有元素均排序完畢。

1

function

selectionsort(arr) 10}

11 temp =arr[i];

12 arr[i] =arr[minindex];

13 arr[minindex] =temp;14}

15return

arr;

16 }

1

defselectionsort(arr):

2for i in range(len(arr) - 1):3#

記錄最小數的索引

4 minindex =i

5for j in range(i + 1, len(arr)):

6if arr[j] 7 minindex =j8#

i 不是最小數時,將 i 和最小數進行交換

9if i !=minindex:

10 arr[i], arr[minindex] =arr[minindex], arr[i]

11return arr

1

void swap(int *a,int *b) //

交換兩個變數27

void selection_sort(int arr, int

len)

819 }

1 template//

整數或浮點數皆可使用,若要使用物件(class)時必須設定大於(>)的運運算元功能

2void selection_sort(std::vector&arr)

10 }

十大經典排序演算法之 選擇排序

選擇排序的工作原理簡單直觀,和氣泡排序也有異曲同工之處,它將需要排序的陣列分為有序區和無序區,首先在無序區選出最小的數,放到有序區的末尾 有序區為從小到大排序好的陣列,因此此時從無序區選出的最小的數一定大於有序區中最大的數 以此類推,直到陣列有序。時間複雜度 平均 時間複雜度 最壞 時間複雜度 最好...

十大經典排序演算法 2 選擇排序

選擇排序 選擇排序是一種簡單直觀的排序演算法,用到它的時候,資料規模越小越好。唯一的好處可能就是不占用額外的記憶體空間了吧。演算法步驟 演示 實現 function selectionsort arr temp arr i arr i arr minindex arr minindex temp r...

十大經典排序演算法

載自 排序演算法是 資料結構與演算法 中最基本的演算法之一。排序演算法可以分為內部排序和外部排序,內部排序是資料記錄在記憶體中進行排序,而外部排序是因排序的資料很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。常見的內部排序演算法有 插入排序 希爾排序 選擇排序 氣泡排序 歸併排序 快速排...