美文网首页
二项队列添加元素

二项队列添加元素

作者: Amrzs | 来源:发表于2014-06-14 12:18 被阅读70次

二项队列添加元素

from my csdn blog
二项队列,添加一个元素到队列中,不可用使用二项树合并函数。

//insert x into the binomial queue
BinQueue Insert(int x, BinQueue H){

    int i;
    BinTree Carry;

    if(H->CurrentSize+1 > Capacity){

        printf("no space for %d", x);
        return H;
    }                               //check the capacity

    H->CurrentSize++;   //inc the size of H

    Carry = createBinTree();
    Carry->element = x;
    Carry->leftChild = Carry->nextSibling = NULL;   // initialize the carry

    i = 0;
    while(H->TheTrees[i]){

        Carry = CombineTrees(Carry, H->TheTrees[i]);    //calculate the carry for high bit
        H->TheTrees[i++] = NULL;        //clean the TheTrees[i]
    }

    H->TheTrees[i] = Carry; //find the nonexistent position to place the carry

    return H;
}

相关文章

  • 队列

    队列是遵循先进先出(FIFO)原则的有序集合。队列在尾部添加新元素,并从顶部移除元素。最新添加的元素必须排在队列的...

  • JS实现循环队列 - 击鼓传花

      队列是遵循先进先出服务的一组有序的项,队列在尾部添加新元素,并从顶部移除元素,最新添加的元素必须排在队列的末尾...

  • 二项队列添加元素

    二项队列添加元素 from my csdn blog二项队列,添加一个元素到队列中,不可用使用二项树合并函数。

  • 深度优先遍历(DFS)和广度优先遍历(BFS)

    深度优先遍历 1 构造 是否遍历过数组2 构造队列 添加未遍历过元素3 取元素 遍历 添加未遍历元素进队列4 全部...

  • 【并发编程系列8】阻塞队列之ArrayBlockingQueue

    什么是阻塞队列 阻塞队列有两个特点: 当队列中没有元素时,从队列中获取元素会被阻塞 当队列满了时,添加元素会被阻塞...

  • 基于链表的队列

    第一,初始化队列。 第二,添加和移除元素。(判断队列是否为空) 第三,获取队列中元素,清空队列,队列的遍历。 第四...

  • 9.阻塞队列和线程池

    阻塞队列 特性 队列是空的时候,从队列获取元素的操作会被阻塞 队列是满的时候,往队列添加元素的操作会被阻塞 实现 ...

  • 实现一个优先队列

    实现一个优先队列 实现一个优先队列,队列需要添加元素,删除元素,获得最大(小)元素等方法。要实现这样的一个队列,至...

  • 队列 --js实现

    队列是遵循FIFO先进先出原则的一组有序的项,队列在尾部添加新元素,并在顶部移除元素,最新添加的元素排列在队尾。 ...

  • 单链表和双链表

    单链表(可以用来实现栈和队列) 删除链表的元素 添加元素 双向链表(实现LinkedList) 添加元素 删除元素

网友评论

      本文标题:二项队列添加元素

      本文链接:https://www.haomeiwen.com/subject/elqjtttx.html