欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

解析如何用两个栈来实现队列的方法

程序员文章站 2023-12-18 18:21:40
题目:如何用两个栈来实现队列,即实现队列的两个方法——appendtail(插入)和deletehead(删除)。分析:核心思想是一个栈正向存储,另外一个栈逆向存储。正向存...

题目:如何用两个栈来实现队列,即实现队列的两个方法——appendtail(插入)和deletehead(删除)。
分析:核心思想是一个栈正向存储,另外一个栈逆向存储。正向存储的栈用来插入,逆向存储的栈用来删除。
实现的java代码如下:

复制代码 代码如下:

import java.util.stack;
public class quenewithtwostacks<e> {
 private stack<e> stack1;
 private stack<e> stack2;
 public void appendtail(e e) {
  stack1.push(e);
 }
 public e deletehead() 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();
 }
}

 

上一篇:

下一篇: