数组实现的堆操作

1. 插入:

/*h->elements[0] is sentinel*/
/*最小堆*/
void insert(ElementType X, Queue h){
    if(isFull(h)){
        Error("Queue is full");
        return;
    }
    for(i=++h->size;h->elements[i/2]>x;i/=2)
   {
       h->elements[i] = h->elements[i/2];
   }
   h->elements[i]=x;//“插入排序“
}

2.删除


posted @ 2014-03-08 09:43  bingtel  阅读(222)  评论(0编辑  收藏  举报