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

来源:互联网 发布:h3c端口聚合 编辑:程序博客网 时间:2024/05/02 00:31
/* *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;}

0 0
原创粉丝点击