定义一个整型数组a存放5个整数,定义一个指针数组c存放a数组5个元素的地址,请按整型数组中的值的大小排列指针数组元素中的地址,即指针数组中第一个元素存放整型数组中值最小的元素地址,第二个元素存放整型数组中值第二小的元素的地址,依此类推。(用选择法排序)
程序运行后c数组中各元素值依次为:
转行JAVA 叭 指针太烦了 需要的话我主页第一篇博客有排序算法的实现过程
修改处见注释,供参考:
#include <stdio.h>
int main()
{
int a[5]={5,0,1,2,6};
int *c[5]={&a[0],&a[1],&a[2],&a[3],&a[4]};
int i,j,k,*t;
for (i=0;i<4;i++)
{
k = i;
for (j=i+1;j<5;j++)
if (*c[k] > *c[j])//if(j < k)修改
k = j;
if (k != i)
{
t = c[i];c[i] = c[k];c[k] = t;
}
}
for (i=0;i<5;i++)
printf("%d ",*c[i]); //c[i] 修改
return 0;
}