stack.java

来自「av平衡树」· Java 代码 · 共 58 行

JAVA
58
字号
/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class Stack {
    int top;    // current top of stack
       int MaxTop; // max value for top
       ATNode[] stack;   // element array

    public  Stack(){
        MaxTop = 10 - 1;
        stack = new ATNode[10];
       // for(int i=0;i<10;i++)
          //  stack[i]=null;
        top = -1;
    }
     public Stack(int MaxStackSize)
   {// Stack constructor.
     MaxTop = MaxStackSize - 1;
     stack = new ATNode[MaxStackSize];
     top = -1;
     }




        boolean IsEmpty()  {return top == -1;}
        boolean IsFull() {return top == MaxTop;}
        ATNode Top() throws Exception{// Return top element.
          if (IsEmpty()) {
                throw new Exception(); // Top fails
                 //return stack[top];
          }
     else return stack[top];
  }
  void Add(ATNode x)throws Exception
  {// Add x to stack.
     if (IsFull()) throw new Exception("no momery"); // add fails
     stack[++top] = x;
  }
  ATNode Delete()throws Exception
  {// Delete top element and put in x.
      ATNode x=null;
     if (IsEmpty()) throw new Exception();  // delete fails
     x = stack[top--];
     return x;
  }

}

⌨️ 快捷键说明

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