用指向指针的指针方法对n个整数排序并输出。要求将排序单独写成一个函数。整数和n在主函数中输入。最后在主函数中输出。
#include <iostream>
using namespace std;
int main()
{
void sort(int **p,int n);
int i,n,data[20],**p,*pstr[10];
cout<<"准备输入几个数:";
cin>>n;
for(i=0;i<n;i++)
{
pstr[i]=&data[i];
}
cout<<"输入要输入的n个数: "<<endl;
for(i=0;i<n;i++)
{
cin>>*pstr[i];
}
p=pstr;
sort(p,n);
cout<<"排序后的数: "<<endl;
for(i=0;i<n;i++)
{
cout<<*pstr[i]<<" ";
}
cout<<endl;
system("pause");
return 0;
}
void sort(int **p,int n)
{
int i,j,k,*temp;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(**(p+k)>**(p+j)) k=j;
if(k!=i)//比较后交换整数的地址
{
temp=*(p+i);
*(p+i)=*(p+k);
*(p+k)=temp;
}
}
}