#include #include void isift(int *p,int i,int n) { int j,t; t=p[i]; j=2*(i+1)-1; while(j<=n) { if((j=0;i--) isift(p,i,n-1); for(i=n-1;i>=1;i--) { t=p[0]; p[0]=p[i]; p[i]=t; isift(p,0,i-1); } return; } void main(int argc,char *argv[]) { int i; int data[32]; printf("δÅÅÐò:"); for(i=0;i<32;i++) printf("%d,",data[i]=rand()%100); pihap(data,32); printf("\nÒÑÅÅÐò:"); for(i=0;i<32;i++) printf("%d,",data[i]); }