zoukankan      html  css  js  c++  java
  • 顺序栈(数组实现)

    上面代码实现了Stack的 isEmpty(),isFull(),clear(),push(),pop(),peek()方法。顺序栈,必须要同时检查下溢出(underflow)和上溢出(overflow)。

    public class Stack {
        private int[] stack;
        private static final int defaultSize = 100;
        private int size;
        private int topIndex;
        public Stack() {
            setUp(defaultSize); 
        }
        public Stack(int sz) {
            setUp(sz);
        }
        public void setUp(int sz) {
            size = sz; topIndex = 0; stack = new int[size];
        }
        public boolean isEmpty() {
            return topIndex == 0;
        }
        public boolean isFull() {
            return topIndex == size;
        }
        public void clear() {
            topIndex = 0;
        }
        public void push(int x) throws Exception {
            if(isFull()) throw new Exception("overflow");
            else stack[topIndex++] = x;
        }
        public int pop() throws Exception {
            if(isEmpty()) throw new Exception("underflow");
            else return stack[--topIndex];
        }
        public int peek() throws Exception {
            if(isEmpty()) throw new Exception("underflow");
            else return stack[topIndex-1];
        }
    }
  • 相关阅读:
    SpringBoot整合Redis缓存
    手写一个json格式化 api
    MYSQL 5.7 无法启动(Could not open error log file errno 2)
    如何获取算法运行状态
    Spring MVC
    Java设计模式
    Java设计模式
    Java设计模式
    Java设计模式
    学习myBatis
  • 原文地址:https://www.cnblogs.com/lasclocker/p/4855848.html
Copyright © 2011-2022 走看看