#include<stdio.h>
/**
* 选择排序
* @param *a 数组
* @param n 数组长度
*/
void selectSort(int *a, int n)
{
int i, j, min, temp;
for(i = 0; i < n; i++) {
min = i; //选择i值为最小值
for(j = i + 1; j < n; j++)
if(a[j] < a[min]) //比较当前最小值与下标为j的值
min = j; //如果下标为j的值比当前最小值小,将j标记为当前最小值
temp = a[i]; //交换下标为i与最小值下标的值
a[i] = a[min];
a[min] = temp;
}
}
int main()
{
int i,a[10] = {10,9,8,7,6,5,4,3,2,1};
selectSort(a,10); //选择排序
for(i=0;i<10;i++) //打印排序后的数组
printf("%d ",a[i]);
return 0;
}
网友评论