温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何用Stacks实现Queue

发布时间:2021-12-18 16:01:57 来源:亿速云 阅读:119 作者:iii 栏目:大数据

这篇文章主要讲解了“如何用Stacks实现Queue”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用Stacks实现Queue”吧!

题目: 用Stacks实现Queue。

思路: Queue是先进先出FIFO,Stack是先进后出FILO。使用Stack模拟实现Queue的功能,可以使用两个Stack,一个进行入Stack操作,一个进行出Stack操作。这两个Stack中的元素位置是颠倒的。比如,一个元素在第一个Stack位于Stack头,那么这个元素在另一个Stack则位于Stack尾。

Language : cpp

class MyQueue {public:

    stack<int> input, output;/** Push element x to the back of queue. */void push(int x) {
        input.push(x);
    }/** Removes the element from in front of queue and returns that element. */int pop() {int a = peek();
        output.pop();return a;
    }/** Get the front element. */int peek() {if(output.empty()){while(input.size()){
                output.push(input.top());
                input.pop();
            }
        }return output.top();
    }/** Returns whether the queue is empty. */bool empty() {return input.empty() && output.empty();
    }
};/**
 * Your MyQueue object will be instantiated and called as such:
 * MyQueue obj = new MyQueue();
 * obj.push(x);
 * int param_2 = obj.pop();
 * int param_3 = obj.peek();
 * bool param_4 = obj.empty();
 */

感谢各位的阅读,以上就是“如何用Stacks实现Queue”的内容了,经过本文的学习后,相信大家对如何用Stacks实现Queue这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI