其他分享
首页 > 其他分享> > Stack 栈

Stack 栈

作者:互联网

package P_12_11;





/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 
 * Date: 2021-12-11
 * Time: 17:29
 */

class stack {

    public static void main1(String[] args) {
        Stack<Integer> stack = new Stack<>();
        stack.push(1) ;
        stack.push(3) ;
        stack.push(4) ;
        int ret = stack.pop(); // 弹出栈顶的元素;
        System.out.println(ret);
        int ret2 = stack.peek();// 获取栈顶的元素,但是不删除;
        System.out.println(ret2);

    }
}


public class Stack {
       int [] elem ;
       public int usedSize ;

       public Stack (){
           this.elem = new int[5];
    }
    public void push (int val ){
           if(isFull()){
               System.out.println("栈满了");
               return;
           }
           this.elem[this.usedSize] = val;
           this.usedSize++;
    }
    //
    public boolean isFull(){
           return this.usedSize  == this.elem.length;
    }
    //判断是否为空
    public boolean empty(){
           return this.usedSize == 0 ;

        }


    // 弹出并且删除栈顶元素;
    public int pop(){
           if(empty()){
               throw new RuntimeException("栈为空")  ;
           }
           int val = this.elem[usedSize-1];
          this.elem[usedSize-1] = Integer.parseInt(null);
          this.usedSize = usedSize--;
           return val;
    }
    // 只是弹出但是不删除
    public int peek(){
        if(empty()){
            throw new RuntimeException("栈为空")  ;
        }
           int val = elem[this.usedSize-1];
           return val;
    }

}

标签:val,int,usedSize,elem,Stack,public,stack
来源: https://blog.csdn.net/mujiaoniao/article/details/121879764