/*C语言指针选择排序*/
#include<stdio.h>
int *min(int *b,int n){
int *p,*r;
p=b+1;
r=b+n;
for(;p<r;p++)
if(*p<*b)
b=p;
return b;
}
void sort(int *a,int n){
int *p,x;
for(;n>1;n--,a++){
p=min(a,n);
x=*a;
*a=*p;
*p=x;
}
}
int main(){
int i=0,k[]={23,34,54,37,56,26,45,78,94,28,39,67};
sort(k,12);
while(i<12){
printf("%3d",k[i]);
i++;
}
return 0;
}
输出结果
23 26 28 34 37 39 45 54 56 67 78 94