顺序排序法又名选择排序法(Select Sort),每次从数组中寻找一个最大的元素,找到之后与数组的第一个元素(这里的第一个元素是随着交换次数而变动的,在没发生交换时单纯指第一个元素,而当发生一次交换后,我们需要再次找到一个“最大值”与第二个元素交换)交换,如此反复 N - 1 次就能得到有序数组。
#include "stdio.h"
void printArray(int *p) //输出数组
{
for (int i = 0; i < 10; i++)
printf("%d ", p[i]);
}
void Sort(int* p)
{
for (int i = 0; i <10; i++) //一共需要循环9次
{
for (int j =1; j <10-i; j++) //每一次找到最小的数放在最后,此后不再遍历
if (p[j] > p[j-1])
{
int t = p[j]; //交换元素
p[j] = p[j-1];
p[j-1] = t;
}
}
}
int main()
{
int a[10];
for (int i = 0; i < 10; i++)
scanf("%d", &a[i]);
Sort(a);
printArray(a);
return 0;
}