您的位置:首页 > 编程语言 > C语言/C++

C/C++复习:整数排序(2)

2016-04-25 14:26 211 查看
/*
*Copyright(c)2016,烟台大学计算机与控制工程学院
*All right reserved.
*文件名称:77.cpp
*作    者:董凯琦
*完成日期:2016年4月25日
*版 本 号:v1.0
*
*问题描述:用指向指针的指针的方法对n个整数排序并输出。

*输入描述:n和n个整数
*程序输出:排序后的整数
*/

#include <stdio.h>
void sort(int **p,int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++) //利用冒泡排序法进行排序
{
if(*p[j]>*p[j+1])  //或者是*(*(p+j))>*(*(p+j+1))
{
temp=*p[j];
*p[j]=*p[j+1];
*p[j+1]=temp;
}
}
}
int main()
{
void sort(int **,int );
int i,n,data[20],**p,*pstr[20];
scanf("%d",&n);
for(i=0;i<n;i++)
pstr[i]=&data[i];
for(i=0;i<n;i++)
scanf("%d",pstr[i]);//输入整数

p=pstr;  //二级指针指向一级指针
sort(p,n);
for(i=0;i<n;i++)
printf("%d ",*pstr[i]); //输出排序好的整数
return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: