stack.java

来自「Practical Java也是一本和J2ME手机游戏开发相关的书」· Java 代码 · 共 37 行

JAVA
37
字号
class Stack
{
  private int stackSize = 10;
  private int[] intArr = new int[stackSize];
  private int index;  //Next available slot in the stack.

  public void push(int val)
  {
    synchronized(intArr) {
      //Reallocate integer array(our stack) if it is full.
      if (index == intArr.length)
      {
        stackSize *= 2;
        int[] newintArr = new int[stackSize];
        System.arraycopy(intArr, 0 , newintArr, 0, intArr.length);
        intArr = newintArr;
      }
      intArr[index] = val;
      index++;
    }
  }

  public int pop()
  {
    int retval;
    synchronized(intArr) {
      if (index > 0)
      {
        retval = intArr[index-1];  //Retrieve the value, and
        index--;                   //decrement the stack.
        return retval;
      }
    }
    throw new EmptyStackException();
  }
  //...
}

⌨️ 快捷键说明

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