C/C++復習:整数ソート(2)

905 ワード

/*
 *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;
}