您的位置:首页 > 移动开发 > Objective-C

关于Stack的说明

2004-11-30 21:12 591 查看
用程序来说明一切吧
package com.tianyu.summer;

/**
 * @author Summer
 * 
 */
import java.util.*;

public class StackTest {

 public StackTest() {
  Stack stack = new Stack();

  Boolean bool = Boolean.TRUE;
  Character character = new Character('$');
  /**
   * 堆栈压栈时必须压入Object类型, 所以前面定义的类型全部是是Object的子类
   */
  try {
   stack.push(bool);
   printStack(stack);
   stack.push(character);
   printStack(stack);
   /**
    * 当要弹出堆栈的时候不需要带参数 因为堆栈是又一定的弹出规律的,如果自带参数程序会出错
    */
   stack.pop(); //
   printStack(stack);
   stack.pop();
   printStack(stack);
   stack.pop();
  } catch (EmptyStackException e) {
   /**
    * 抛出 java.util.EmptyStackException at java.util.Stack.peek(Unknown
    * Source) at java.util.Stack.pop(Unknown Source) at
    * com.tianyu.summer.StackTest. <init>(StackTest.java:31) at
    * com.tianyu.summer.StackTest.main(StackTest.java:64)
    * 因为堆栈为空,所以不能再进行出栈操作
    */
   e.printStackTrace();
  }
 }

 public void printStack(Stack stack) {
  if (stack.isEmpty()) {
   System.out.println("堆栈为空");
  } else {
   System.out.print("堆栈包含:");
   Enumeration items = stack.elements();
   while (items.hasMoreElements()) {
    System.out.print(items.nextElement() + " ");
   }
   System.out.print("/n");
  }
 }

 public void removeStack(Stack stack) {
  if (stack.isEmpty()) {
   System.out.println("堆栈为空");
  } else {
   System.out.print("堆栈包含:");
   Enumeration items = stack.elements();
   while (items.hasMoreElements()) {
    System.out.print(items.nextElement() + " ");
   }
   System.out.print("/n");
  }
 }

 public static void main(String[] args) {
  new StackTest();
 }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息