⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stack.java

📁 这是孙卫琴在"Java与面向对象编程"一书的源代码。
💻 JAVA
字号:
import java.util.EmptyStackException;
public class Stack {
  private Object[] elements;  //存放对象
  private int size=0;
  private int capacityIncrement=10;  //堆栈的容量增长的步长
	
  public Stack(int initialCapacity,int capacityIncrement) {
    this(initialCapacity);
    this.capacityIncrement=capacityIncrement;
  }
  public Stack(int initialCapacity) {
    elements=new Object[initialCapacity];
  }

  public void push(Object object){
   ensureCapacity();
   elements[size++]=object;
  }

  public Object pop(){
   if(size==0)
     throw new EmptyStackException();
   elements[size]=null;  //清除过期的对象引用
   return elements[--size];
  }
  
  private void ensureCapacity(){  //增加堆栈的容量
    if(elements.length==size){
      Object[] oldElements=elements;
      elements=new Object[elements.length+capacityIncrement];
      System.arraycopy(oldElements,0,elements,0,size);
    }
  }

  public static void main(String args[]){
    Stack stack=new Stack(1000);
    for(int a=0;a<1000;a++)
      stack.push(new Integer(a));
    for(int a=0;a<1000;a++)
      System.out.println(stack.pop());
  }
}


/****************************************************
 * 作者:孙卫琴                                     *
 * 来源:<<Java面向对象编程>>                       *
 * 技术支持网址:www.javathinker.org                *
 ***************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -