------------选择排序
思想:每一轮选择最小的放在左边
最好情况: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;
}