61.对一个整数数组排序

输入一个整数m,然后m个整数,构成一个数组

用一个指针数组分别指向这个数组的每一个元素

要求在不改变原始数组的顺序的情况下,对指针数组进行排序,将排序后的指针数组输出出来。

预设代码
前置代码

/* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */  
 
#include <stdio.h>  
#include <stdlib.h>  
  
/* run this program using the console pauser or add your own getch, system("pause") or input loop */  
  
int resort(int *pa[],int num);  
  
int main(int argc, char *argv[]) {  
          
    int a[100];  
    int num;  
      
    int *pa[100];  
    scanf("%d",&num);  
      
    int i=0;  
    for(i=0;i<num;i++)  
     {  
       scanf("%d",&a[i]);  
       pa[i]=&a[i];           
     }  
  
    resort(pa,num);  
  
    for(i=0;i<num;i++)  
     {  
       printf("%d\n",*pa[i]);  
    }  
  
  
  
  
    return 0;  
}  
  
/* PRESET CODE END - NEVER TOUCH CODE ABOVE */  

img

int resort(int *pa[],int num)
{
    int *p;
    for(int i=0;i<num-1;i++)
      for(int j=0;j<num-i-1;j++)
      {
            if(*(pa[j]) > *(pa[j+1]))
            {
                p = pa[j];
                pa[j] = pa[j+1];
                pa[j+1] = p;
            }
      }
}