首先要熟悉一下栈和队列的性质,和方法。栈就是先进后出的结构,常见的方法有push()是入栈操作,pop()是移除并返回元素,peek()返回栈尾元素,队列的结构是先进先出,所以我们用栈来实现队列时则需要使用两个栈,in栈是负责进栈,out则负责出栈,我们首先将元素push进in栈里,此时我们要实现队列的pop操作,但栈的pop操作返回的是尾,而队列返回的是头,这时候我们需要自己构造一个方法来实现队列元素的反转,我们只需要pop(in)取出in中的每一个头元素然后依次push进out中即可。而用队列来实现栈,最最关键的就是pop操作,此时我们可以取出队列的前n-1个元素,依次把它们入队,这时候我们只需用一个整形来接收队列的poll方法的返回值即可


本文介绍了如何用栈实现队列,通过理解栈的先进后出特性和队列的先进先出特性,利用两个栈(in和out)以及元素反转的方法,详细解释了如何进行数据操作。同样也探讨了如何用队列实现栈,特别关注pop操作的应用.
463

被折叠的 条评论
为什么被折叠?



