選擇排序

------------選擇排序

思想:每一輪選擇最小的放在左邊

最好情況:O(n2)

最壞情況:O(n2)(選出的a[0]爲最大或者最小元素)

平均:O(n2)

穩定性:非穩定排序

僅適用於順序表,鏈表

代碼:
 

#include<stdio.h>
int a[] = {2,100,15,25,99,44,24,56};
void swap(int &a,int &b)
{
    int temp;
    temp = a;
    a = b;
    b = temp;
}

int main(){
    //每一輪選擇最小的放在左邊
     int temp;
     for(int i = 0;i<8;i++)
     {
         temp = i;
         for(int j = i+1;j<8;j++)
         {
            if(a[j]<a[temp])
                temp = j;
         }
         swap(a[temp],a[i]);
     }
    //輸出
     for(int i =0; i<8;i++)
     printf("%5d ",a[i]);
     return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章