(图片来源网络,侵删)
双向队列的操作及应用双向队列提供了更高的灵活性,允许在头部和尾部执行元素的添加或删除操作对于双向队列而言,头部和尾部都可以执行入队和出队操作换句话说双向队列需要实现另一个对称方向的操作为此采用"双向链表"作为双向队列的底层数据结构,将双向链表的头节点和尾节点视为双向队列的队首和队尾,同时实现在两端添加和删除节点的功能软件的"撤销"功能通常使用栈来实现:系统将每次更改操作push到栈中,然后通过pop实现撤销然而考虑到系统资源的限制,软件通常会限制撤销的步数(例如仅允许保存50步)当栈的长度超过50时,软件需要在栈底(队首)执行删除操作,但栈无法实现该功能,此时就需要使用双向队列来替代栈
0 评论