onnple / priorityqueue

最小二叉堆(binary heap)实现优先队列,原文地址:http://www.srcmini.com/1588.html

Home Page:http://www.srcmini.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

优先队列(PriorityQueue)

最小二叉堆(binary heap)实现优先队列,原文地址:

最小堆优先队列操作函数说明:

1、初始化最小堆优先队列

extern PriorityQueue *pqueue_init(int length);

2、检查最小堆优先队列是否为空

extern int pqueue_is_empty(PriorityQueue *queue);

3、检查最小堆优先队列是否已满

extern int pqueue_is_full(PriorityQueue *queue);

4、最小堆优先队列入队

extern int pqueue_push(PriorityQueue *queue, int key, Song *song);

5、获取队列顶部元素

extern QNode *pqueue_top(PriorityQueue *queue); // 获取顶部元素

6、顶部元素出队

extern int pqueue_pop(PriorityQueue *queue); // 释放顶部元素

7、index位置的元素降低delta

extern int pqueue_decrease(PriorityQueue *queue, int index, int delta);

8、index位置的元素提升delta

extern int pqueue_increase(PriorityQueue *queue, int index, int delta);

9、删除index位置的元素

extern int pqueue_delete(PriorityQueue *queue, int index);

10、使用一个数组构建一个优先队列

extern PriorityQueue *pqueue_build(QNode *list, int length);

11、遍历优先队列

extern void pqueue_traverse(PriorityQueue *queue);

12、释放优先队列

extern int pqueue_clear(PriorityQueue *queue);

About

最小二叉堆(binary heap)实现优先队列,原文地址:http://www.srcmini.com/1588.html

http://www.srcmini.com/


Languages

Language:C 100.0%