#include<stdio.h>
#include<stdlib.h>
void SelectSort(int *a,int n);//预声明要调用的函数
int main(void)
{
int k;
int x[]={,,,,,,,,,};
for(k=;k<;k++)
printf("%d",x[k]);
printf("\n");
SelectSort(x,);
for( k=;k<;k++)
printf("%d",x[k]);
printf("\n");
system("pause"); return ;
} void SelectSort(int *a,int n)//数组元素是指针,数组数量
{
int i,j,t;//整型变量
int min;//最小值,索引号
for(i=;i<n-;i++)//n-1次扫描
{
min=i;//每次扫描前第一个元素(最小)
for(j=i+;j<n;j++)//第二轮扫描找到最小值并交换
{
if(a[j]<a[min])
min=j; }
t=a[i];//临时变量
a[i]=a[min];//
a[min]=t;
} }
选择排序基本思想:每一趟(如第n趟)在后面n-i+1(i=1,2,…,n-1)个待排序元素中选取关键字最小的元素,作为有序子序列的第i个元素,直到第n-1趟做完,待排序元素只剩下一个,就不用再选了。