只需要将最后一个位置++,将插入的值放入最后一个位置中,然后向上进行调整
代码如下(最大堆):
int cnt=0;
int heap[1000];
void heapInsert(int x){
cnt++;
heap[cnt]=x;
int i=cnt;
while(1){
if(i==1)
break;
int p=i>>1;
if(heap[p]>=heap[i])
break;
int tmp=heap[p];
heap[p]=heap[i];
heap[i]=tmp;
i=p;
}
}