介绍
选择排序就是在需要排序的数组中找出最小的元素,将它排在新数组的最前面,整体是从左向右依次排序。每遍历一次数组,就会将一个此时最小的元素拍好位置。在下一次遍历中就可以少比较一次。选择排序的复杂度是N2,并且是一种不稳定的排序方法。
C语言代码实现
#include<stdio.h>
int main(){
int a[]={15,6,9,7,3,48,68,77,84,11,44,222};
int i=0,j=0,k=0,min=0;
int len =sizeof(a)/sizeof(a[0]);
//int le =sizeof(a);测试sizeof()方法
//printf("%d\n",le);
for(i=0;i<len-1;i++){
for(j=i+1;j<len;j++){
if(a[min]>a[j])
min=j;//遍历数组将最小元素的下标赋给min
}
if(min!=i){//如果当前最小元素的下标不是min,则交换a[i]与a[min]的值
k=a[min];
a[min]=a[i];
a[i]=k;
}
}
for(int l=0;l<len;l++)
printf("%5d",a[l]);
return 0;
}
网友评论