队列的操作(1)队列的一些常用的操作创建队列销毁队列清空队列进队列出队列获取队头元素获取队列元素 队列的顺序存储实现
写代码



队列的链式存储实现(1)链式存储实现







顺序队列的瓶颈(1)顺序队列线性表的第一个元素作为队头线性表表的最后一个元素作为队尾(2)入队的新元素是在线性表的最后,时间复杂度为O(1)(3)出队时需要将后续的所有元素向前移动,时间复杂度为O(n)问题:如何将出队的时间复杂度降为O(1)?顺序队列的优化方案(1)定义front使其始终代表队头的下标出队时将队头元素返回,且front++(2)定义rear使其始终代表队尾下一个元素的下标入队时将新元素插入,且rear++没有必要只将下标为0的位置定义为队头
写代码





链式队列的瓶颈(1)链式队列线性表的第一个元素作为队头线性表的最后一个元素作为队尾(2)入队的新元素是在线性表的最后,时间复杂度为O(n)(3)出队的元素即链表的第一个元素,时间复杂度O(1)问题:如何将入队操作的时间复杂度降低到O(1)链式队列的优化方案(1)定义rear指针始终指向链表中的最后一个元素入队时将新元素通过rear插入队尾,且将rear指向新元素








栈与队列











新闻热点
疑难解答