十大排序演算法之選擇排序2

2021-09-19 12:29:56 字數 676 閱讀 3150

選擇排序(selection-sort)是一種簡單直觀的排序演算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。

2.1 演算法描述

n個記錄的直接選擇排序可經過n-1趟直接選擇排序得到有序結果。具體演算法描述如下:

2.2 圖例演示

2.3 **實現

#include#includeusing namespace std;

void slectionsort(int arr,int length)

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

}int main()

; slectionsort(arr,5);

cout<

2.4 演算法分析

表現最穩定的排序演算法之一,因為無論什麼資料進去都是o(n2)的時間複雜度,所以用到它的時候,資料規模越小越好。唯一的好處可能就是不占用額外的記憶體空間了吧。理論上講,選擇排序可能也是平時排序一般人想到的最多的排序方法了吧。

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

選擇排序也是一種o n 2 時間複雜度的排序演算法,選擇排序是每一次迴圈都將找到最小值,依次將最小值 次小值分別從左至右進行排序。以下是具體實現過程,其中使用的工具類這篇部落格已經給出,import cn.zjut.util.sorttestutil public class selectsort ...

十大排序演算法 選擇排序

原理 第一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,然後再從剩餘的未排序元素中尋找到最小 大 元素,然後放到已排序的序列的末尾。以此類推,直到全部待排序的資料元素的個數為零。工具類public class utils 用於交換陣列兩個下標的位置 static void...

十大排序之選擇排序《Blind Stab》

選擇排序 public class choose for int i 0 i arr.length 1 i int temp arr i arr i arr index arr index temp for int i 0 i arr.length i 分析 n個資料,進行選擇排序,順序若是從小到大...