力扣225.用队列实现栈

编程入门 行业动态 更新时间:2024-10-10 09:23:17

力扣225.用<a href=https://www.elefans.com/category/jswz/34/1771257.html style=队列实现栈"/>

力扣225.用队列实现栈

原题链接:力扣225.用队列实现栈

思路:主要就是用队列模拟栈的操作
需要注意的点就是栈和队列数据结构的区别
栈是先进后出,队列是先进先出
也就代表如果队列要模拟栈,就要对队列实现移动元素位置的操作,这个要注意

全代码:

class MyStack {
public:MyStack() {}void push(int x) {// 将元素 x 压入栈顶。用单队列实现queuea.push(x);//将x先压入队列尾int len = queuea.size()-1;//获取队列总长度,但是减去1,因为移位置不需要移动刚添加进来的xwhile (len--) {//将队列头的元素逐步添加到队列尾,就成了旧元素不变,的以新元素x开头的队列queuea.push(queuea.front());queuea.pop();}}int pop() {//移除并返回栈顶元素if (!queuea.empty()) {//得到队列最先出的一个元素int a = queuea.front();//弹出queuea.pop();//返回弹出的元素return a;}else {//为空返回NULLreturn NULL;}}int top() {//返回栈顶元素。int a = queuea.front();return a;}bool empty() {//判断是否为空,空返回true,不为空返回falsereturn queuea.empty();}
private:queue<int> queuea;
};

更多推荐

力扣225.用队列实现栈

本文发布于:2023-11-17 08:11:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1641569.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:队列   力扣

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!