#include<stdio.h>
#include<stdlib.h>
//指定数组, 数组大小
void Select(int buf[], int n)
{
int i, j, temp;
int idex; //保存当前最小值下标 标记
for (i = 0; i < n - 1; i++)
{
idex = i; //当前最小值下标
for (j = i + 1; j < n; j++)
{ //从起始位置的下一位置开始
if (buf[idex]>buf[j]) //比较当前最小值与下一个元素大小,
idex = j; //如果当前最小值大于下一个元素,则将下一个元素的下标
} //赋值给标记idex
if (idex != i) //在一趟比较结束后,比较最小值标记的下标与起始位置
{ //的下标,如果下标不相同,则交换两个下表位置所存储的元素
temp =buf[i]; //如果相同,则表明起始位置的元素为最小值不用交换元素
buf[i] =buf[idex];
buf[idex] = temp;
}
}
for (int i = 0; i < n ; i++) //输出排序后的元素
printf(" %d", buf[i]);
}
void main()
{
int a[] = { 2, 3, 1, 5, 6, 9, 8, 4, 7, 0 };
int n = sizeof(a) / sizeof(int); //求数组大小
printf("排序前:");
for (int i = 0; i < n; i++)
printf(" %d", a[i]);
printf("\n\n排序后:");
Select(a, n);
printf("\n\n");
system("pause");
}