JavaSE MyStack

import java.util.Stack;

    @SuppressWarnings("unused")
    public class MyStack<T> {
    T[] data;
    int m = 10;
    int a = 0;
    @SuppressWarnings("unchecked")
    public MyStack() {
        data = (T[]) new Object[m];
    }
    @SuppressWarnings("unchecked")
    public MyStack(int i) {
        data = (T[]) new Object[i];
        m = i;
    }
    // 压栈
    public void push(T o) {
        // 栈满 不能压 只能取
        if (m == a) {
            System.out.println("栈满了");
        } else {
            data[m - a - 1] = o;
            a++;
        }
    }
    // 出栈
    public T pop() {
        if (a == 0) {
            System.out.println("栈空了");
            return null;
        }
        T r = data[m - a];
        data[m - a] = null;
        a--;
        return r;
    }

    public static void main(String[] args) {
        MyStack<String> ms = new MyStack<String>(5);
        ms.push("张三");
        ms.push("李四");
        ms.push("王五");
        ms.push("张三");
        ms.push("李四");
        String s = ms.pop();
        String s1 = ms.pop();
        String s2 = ms.pop();
        String s3 = ms.pop();
        System.out.println(s);
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容