------------選擇排序
思想:每一輪選擇最小的放在左邊
最好情況: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;
}