#include <stdio.h>
#define MAXN 500
int data[MAXN];
int main(){
int n;
scanf("%d",&n);
int i=0;
int input;
while(n--){
scanf("%d",&input);
data[i++]=input;
}
data[i]='\0';
i--;
int *p;
int gap;
int begin;
int j;
int temp;
for(p=data;i>=0;i--){
for(begin=0,j=i,gap=j/2;gap>0;gap/=2,j--,begin++){
if(*(p+begin)<*(p+begin+gap)){
temp=*(p+begin);
*(p+begin)=*(p+begin+gap);
*(p+begin+gap)=temp;
}
if(*(p+begin+gap)<*(p+i)){
temp=*(p+begin+gap);
*(p+begin+gap)=*(p+i);
*(p+i)=temp;
}
}
}
for(i=0;data[i]!='\0';i++){
printf("%d\n",data[i]);
}
return 0;
}
p=data;*p=1时会使data【0】=1应为p指向了data【0】的地址,而*p就是就是指针指向的对象的值,所以*p改变就是data【0】改变了♪(^∇^*)