
数据结构专栏---队列
文章平均质量分 84
队列的所有题目将会在这里呈现
努力彪
但行好事,莫问前程
展开
-
用两个栈实现队列(简单难度)
目录题目概述(简单难度)思路与代码思路展现代码示例错误示范 题目概述(简单难度) 题目链接: 点我进入对应题目 思路与代码 思路展现 做这题之前我们首先要明白一点就是,栈是先进后出的,队列是先进先出的。我 们 可以 使用两个栈stackPop和stackPush,往队列中添加元素的时候直接把要添加的值压入 到 stackPush 栈 中 。 往 队 列 中 删 除 元 素 的 时 候 如 果 stackPop 中 有 元 素 我 们 就 直 接 删 除,如果没有元素,我们需要把stackPush中的元素全原创 2022-02-06 11:50:56 · 351 阅读 · 0 评论 -
用栈实现队列(简单难度)
目录题目概述(简单难度)思路与代码思路展现代码示例总结 题目概述(简单难度) 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开头的元素 boolean empty() 如果队列为空,返回 true ;否则,返回 false 说明: 你只能使用标准的栈操作 —— 也就是只原创 2021-10-07 09:57:18 · 291 阅读 · 0 评论 -
设计循环队列(中等难度)
目录题目概述(简单难度)思路与代码思路展现代码示例总结 题目概述(简单难度) 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。 循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。 你的实现应该支持如下操作: MyCircularQueue(k): 构造器,原创 2021-10-04 18:14:58 · 203 阅读 · 3 评论