选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾(目前已被排序的序列)。以此类推,直到所有元素均排序完毕。(维基百科:http://zh.wikipedia.org/wiki/%E9%80%89%E6%8B%A9%E6%8E%92%E5%BA%8F)
#include <stdio.h>
#include <stdlib.h>
void sort(int a[] , int n)
{
int i , j , temp;
for (i = 0 ; i < n ; i ++)
{
for (j = 0 ; j < i+1 ; j++)
{
if(a [i] < a[j])
{
temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
}
}
int main(void)
{
int n = 0 , i , a[100] ;
printf("请输入数据以 ' -1 ' 结束, 不超过100个数据:\n");
for(i = 0 ; i < 20 ; i ++)
{
scanf("%d",&a[i]);
if(a[i] == -1)
break;
n++;
}
printf("输入的数据数量: %d\n",n);
sort(a , n);
printf("排序结果 : \n");
for(i = 0 ; i < n ; i++)
{
printf("%d\t",a[i]);
}
printf("\n");
system("pause");
return 0;
}