堆中插入元素

来源:互联网 发布:知乎 飞利浦电动剃须刀 编辑:程序博客网 时间:2024/06/06 10:52

只需要将最后一个位置++,将插入的值放入最后一个位置中,然后向上进行调整

代码如下(最大堆):

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;}}


原创粉丝点击