[程序纠错]选择排序结果为何不对?感觉木有错误!!
//选择排序优化版#include<stdio.h>
int main()
{
void convert(int *,int);
int a[10]={1,3,5,7,9,2,4,6,8,10};
int i,*p;
p=a;
puts("The array is:");
for(i=0;i<10;i++)
printf("%d ",*(p++));
putchar('\n');
p=a;
puts("The converted array is:");
convert(p,10);
p=a;
for(i=0;i<10;i++)
printf("%d ",*(p++));
putchar('\n');
return 0;
}
void convert(int *p,int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(*(p+j)<*(p+k))
k=j;
if(k!=i)
{
t=*(p+k);
*(p+k)=*(p+i);
*(p+i)=t;
}
}
}
}