选择排序的基本算法是从待排序的区间中经过选择和交换后选出最小的数值存放到 a[0] 中,再从剩余的未排序区间中经过选择和交换后选出最小的数值存放到 a[1] 中,a[1] 中的数字仅大于 a[0],依此类推,即可实现排序。
#pragma mark -选择排序
void selectSort(int s[], int lenght) {
for(int i=0;i<lenght-1;i++) {
for(int j=i+1;j<lenght;j++) {
if(s[i] > s[j]) {
s[i] = s[i] + s[j];
s[j] = s[i] - s[j];
s[i] = s[i] - s[j];
}
}
}
}
在main函数中进行验证
int a[11], i;
printf("请输入10个数:\n");
for(i=1;i<=10;i++) {
scanf("%d",&a[i]);
}
printf("排序前:\n");
for(i=1;i<=10;i++) {
printf("%5d",a[i]);
}
printf("\n");
//选择排序
selectSort(a,10);
printf("排序后:\n");
for(i=1;i<=10;i++) {
printf("%5d",a[i]);
}
printf("\n");