`
mywhy
  • 浏览: 66497 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

用两个栈实现对列

 
阅读更多
1.队列:先进先出(FIFO)
2.栈:后进先出(LIFO)
package test.my.chap0302;

import java.util.Stack;

public class QueueWithTwoStack<E> {
	
	private Stack<E> stack1 = new Stack<E>();
	
	private Stack<E> stack2 = new Stack<E>();
	
	public void appendTail(E e){
		stack1.push(e);
	}
	
	public EdeleteEle() throws Exception{
		if(stack2.size()<=0){
			while(!stack1.isEmpty()){
				stack2.push(stack1.pop());
			}
		}
		if(stack2.size()==0){
			throw new Exception("Queue is empty!");
		}
		
		return stack2.pop();
	}
	
	}
分享到:
评论

相关推荐

    用两个栈实现队列1

    标题 "用两个栈实现队列1" 描述的是一个编程问题,主要目标是利用两个栈来模拟一个队列的行为。队列是一种先进先出(FIFO,First In First Out)的数据结构,通常有两个主要操作:入队(在队尾添加元素)和出队(在...

    python 实现 用两个栈实现队列

    python 实现 用两个栈实现队列

    用两个栈实现队列.md

    用两个栈实现队列.md

    两个栈实现一个队列

    要使用两个栈实现队列,我们需要一个入队栈(pushStack)和一个出队栈(popStack)。入队操作(enqueue)相当于向pushStack中添加元素,而出队操作(dequeue)则涉及将pushStack中的元素转移到popStack,然后从pop...

    shushu1234#articles-backup#2018-04-13-剑指Offer-用两个栈实现队列1

    title: 剑指Offer-用两个栈实现队列subtitle: 用两个栈实现队列categories: 剑指Offer用两个栈实现队列题目描述用两个栈来实现一

    c++-剑指offer题解之用两个栈实现队列

    c++ c++_剑指offer题解之用两个栈实现队列

    python-剑指offer第5题用两个栈实现队列

    python python_剑指offer第5题用两个栈实现队列

    Veal98#CS-Wiki#232-用两个栈实现队列1

    232. 用两个栈实现队列232. 用栈实现队列题目描述解题思路/** Initialize your data structure here. *//** R

    ZhuoZhuoCrayon#CS-Notes#9. 用两个栈实现队列1

    9. 用两个栈实现队列题目链接牛客网题目描述用两个栈来实现一个队列,完成队列的 Push 和 Pop 操作。当元素要出栈时,需要先进入 out 栈,此时元素出栈

    bbkgl#notes#用两个栈实现队列1

    用两个栈实现队列思路很简单:入栈只入栈1出栈只从栈2出,出栈时如果栈2右元素则顶部元素出栈,否则让栈1元素全部压入到栈2,然后栈2最上面元素出栈代码如下:

    用两个栈实现一个队列的功能?要求给出算法和思路

    ### 使用两个栈实现队列功能 #### 背景与目的 在计算机科学领域中,数据结构是存储和组织数据的方式之一,对于提高程序效率至关重要。队列是一种先进先出(FIFO)的数据结构,而栈则是一种后进先出(LIFO)的数据...

    C++实现用栈实现队列的功能

    标题“C++实现用栈实现队列的功能”表明我们将使用C++编程语言,通过创建两个栈来实现队列的主要功能:入队(enqueue)和出队(dequeue)。这种方法的思路是,一个栈用于入队操作,另一个栈用于出队操作,以此来克服...

    用两个栈实现队列(纯原创,亲测可行)

    队列的两种实现方式一种是数组一种是栈,此处介绍如何将用两个栈来实现一个队列

    03-用两个栈实现一个队列.md

    在分析算法的时间复杂度时,我们发现如果用两个栈实现队列,add操作的时间复杂度为O(1),delete操作的时间复杂度可能为O(n),因为在某些情况下我们需要将stack1中的所有元素转移到stack2中。然而,在实际操作中,...

    C语言实现栈与队列

    - `libStack.c` 和 `libStack.h`:这两个文件对应于栈的实现。`libStack.c`包含了栈的压栈、弹栈等操作的实现,而`libStack.h`则提供这些操作的接口定义。 - `ListStackQueue.cpp`:这个文件可能是用C++编写的,...

    C语言用两个栈实现一个队列的功能

    用量个栈实现一个队列,使其可以有进队和出队的操作。

    两个队列实现一个栈

    在本场景中,我们将探讨如何使用两个队列来实现一个栈。栈是一种后进先出(LIFO)的数据结构,而队列则是一种先进先出(FIFO)的数据结构。在C++中,我们可以借助标准库中的`queue`和`stack`来实现这一转换,但为了...

    如何使用两个栈实现队列Java

    这种实现方法虽然在pop操作时可能会有额外的时间开销(如果栈2为空,需要转移所有元素),但在某些情况下,如空间限制或特定应用场景下,使用两个栈实现队列可能比直接使用Java提供的Queue接口更具优势,因为它避免...

Global site tag (gtag.js) - Google Analytics