选择排序
#include <stdio.h>
#define N 7
/*
9 3 5 6 1 4 7
1 3 4 5 6 7 9
*/
void main()
{
int a[N],i,j,min;
for(i=0;i<N;i++)//循环输入数据
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)//比较N-1次
{
min=i;//设置最小值
for(j=i+1;j<N;j++)//找到最小值的下标
if(a[j]<a[min]) min=j;
if(min!=i)
{
a[i]=a[i]^a[min];
a[min]=a[i]^a[min];
a[i]=a[i]^a[min];
}
}
printf("~~~~~~~\n");
for(i=0;i<N;i++)//遍历输出
printf("%d ",a[i]);
}
结果: