有一个指针数组,其元素分别指向一个整型数组的元素,用指向指针数据的指针变量,输出整型数组各元素的值。并在此基础上实现对各数排序。
#include<stdio.h>
int main()
{
void sort(int x[],int n);
int a[5]={1,3,5,7,9};
int *num[5]={&a[0],&a[1],&a[2],&a[3],&a[4]};
int **p,i;
p=num;
for(i=0;i<5;i++)
{
printf("%d ",**p);
p++;
}
printf("\n");
p=num;
sort(*p,5);
for(i=0;i<5;i++)
{
printf("%d ",**p);
p++;
}
return 0;
}
void sort(int x[],int n) //直接选择排序
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(x[j]>x[k])
k=j;
}
if(k!=i)
{
t=x[i];
x[i]=x[k];
x[k]=t;
}
}
}