队列是一种受限的线性表,(Queue),它是一种运算受限的线性表。先进先出(FIFO First In First Out)
*受限的线性结构
*只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。
顺序存储的方式实现队列算法
结构定义:
队列出队有两种方式:
第一种方式
第二种方式
第一种是元素向前移动,第二种方式是牺牲空间,可用于循环队列。
链式存储的方式实现队列的算法(动态顺序队列)
数据结构:
任务队列
线程池中的任务队列
数据结构:
循环队列
上文提到的第二种出队方式会导致“假溢出“。因此采用循环队列。
优先队列
数据结构:
操作图示:
难点:用二级指针指向最高优先级的结点的前一个节点的指针域。