選擇排序演算法

2021-07-23 17:24:35 字數 768 閱讀 5720

一、演算法原理

選擇排序的思想非常直接,不是要排序麼?那好,我就從所有序列中先找到最小的,然後放到第乙個位置。之後再看剩餘元素中最小的,放到第二個位置……以此類推,就可以完成整個的排序工作了。可以很清楚的發現,選擇排序是固定位置,找元素。相比於插入排序的固定元素找位置,是兩種思維方式。不過條條大路通羅馬,兩者的目的是一樣的。

二、演算法分析

從選擇排序的思想中,我們都不難看出,尋找最小的元素需要乙個迴圈的過程,而排序又是需要乙個迴圈的過程。因此顯而易見,這個演算法的時間複雜度也是o(n*n)的。這就意味值在n比較小的情況下,演算法可以保證一定的速度,當n足夠大時,演算法的效率會降低。並且隨著n的增大,演算法的時間增長很快。因此使用時需要特別注意。

三、**

#include 

using namespace std;

/*交換函式,作用是交換陣列中的兩個元素的位置*/

void swap(int array,int i,int j)

/*選擇排序*/

void selectionsort(int array,int n)

swap(array,i,smallest);

} }

int main()

; selectionsort(array,7);

for(int i=0;i<7;i++)

cout<

<<" "<

演算法 選擇排序,例項分析選擇排序演算法

選擇排序,將乙個序列看做兩個部分,前面有序,後面無序,每次在後面的無序序列中,選擇乙個最小的元素,交換到前面有序序列的末尾,直到無序序列全部完成交換,即可完成排序 選擇排序是不穩定的排序演算法 有乙個序列 5,2,0,1,3,1,4 第一趟排序 第二趟排序 此時我們看到,經過兩趟排序,前面兩個元素 ...

排序演算法 選擇排序

private static int leftchild int i private static void perc int a,int i,int n for int i 0 ir j break else public static void heasp int r,int n for i 0...

排序演算法 選擇排序

摘自 wiki百科 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小元素,然後放到排序序列末尾 目前已被排序的序列 以此類推,直到所有元素均排序完畢。c語言實現 vo...