//选择排序法
#include <stdlib.h>
#include <stdio.h>
void main()
{
int a[10];
//初始化数组
for (int i = 0; i < 10; i++)
{
a[i] = rand() % 10;
}
//打印数组
for (int i = 0; i < 10; i++)
{
printf("%4d", a[i]);
}
printf("\n");
//min保存最小的元素下标
int min = 0;
//选择排序法
for (int i = 0; i < 10; i++)
{
min = i;
//遍历找出最小的数组元素下标
for (int j = i + 1; j < 10; j++)
{
if (a[j] < a[min])
{
min = j;
}
}
//如果找到,则交换
if (min != i)
{
int tmp = a[i];
a[i] = a[min];
a[min] = tmp;
}
}
//打印出排序后的结果
for (int i = 0; i < 10; i++)
{
printf("%4d", a[i]);
}
printf("\n");
system("pause");
}