//对顺序表L进行堆排序
void heapSort(SqList *L){
for(int i=L->length/2;i>0;i--)
heapAdjust(L,i,L->length);
for(int i=L->length;i>1;i--){
Sawp(L,1,i);
heapAdjust(L,1,i-1);
}
}
//调整L,使L->r[s..m]成为最大堆
void heapAdjust(SqList *L, int s, int m){
int temp = L->r[s];
for(int i=s*2;i<=m;i*=2){
if(L-r[i]<l-r[i+1] && i<m)
i++;
if(temp>=L->r[i])
break;
L->r[s]=L->r[i];
s=i;
}
L-r[s] = temp;
}