Java判断出栈顺序是否正确的方法计算机等级考试

文章作者 100test 发表时间 2010:01:01 12:28:44
来源 100Test.Com百考试题网


  我们知道栈是一种先进后出的数据容器。当一个栈的输入序列是递增序列(例如a,b,c,d),并且在进栈操作时,允许退栈操作,则输出的序列可能有多种形式(例如:d,c,b,a或a,c,b,d等)。但是却肯定不会出现如下出栈序列:a,d,b,c或d,a,b,c等。在输入序列为递增序列的假设下,请编写一个算法判断输入的字符串表示的出栈序列是否为正确的出栈序列。例如:输入的字符序列为dcba,则返回值为true.若输入的字符序列为 adbc,则返回的值为false。
  一个简单的堆栈:
  public class SqStack {
  private int size.
  private Object[] datas.
  private int top.
  public SqStack(){
  this(50).
  size = 50.
  }
  public SqStack(int size) {
  this.size = size.
  datas = new Object[size].
  top = -1.
  }
  public void push(Object data){
  //...
  }
  public Object pop(){
  //...
  }
  public Object getTop(){
  //...
  }
  public boolean isEmpty(){
  //...
  }
  }
  public static boolean isStackOutSequence(String str){
  SqStack s=new SqStack().
  for(int i=0.i
  for(int j=i 1.j
  if(str.charAt(j)
  s.push(str.charAt(j)).
  }
  while(!s.isEmpty(){
  char c=(Character)s.pop().
  if(!s.isEmpty()

相关文章


Java入门技巧:Java语法集锦计算机等级考试
JAVA通过JNI调用本地C语言方法计算机等级考试
Java类装载的过程及原理介绍计算机等级考试
java.util.concurrent包的并发处理计算机等级考试
Java判断出栈顺序是否正确的方法计算机等级考试
计算机二级java辅导:Struts2标签计算机等级考试
struts2中一个form多个提交的方法计算机等级考试
java多线程之wait(),notify(),notifyAll()计算机等级考试
Java常用异常与集合计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛