Java实现栈2

来源:互联网 发布:淘宝对实体店的影响 编辑:程序博客网 时间:2024/04/28 07:03
/** * 数组实现 * @author Wee bing * @param <Item> */public class MyStack<Item> {private Object[] myArray = null;//元素容器private int capacity = 0;//元素容量private int n = 0;//元素个数public MyStack() {capacity = 2;myArray = new Object[capacity];}public MyStack(int capacity) {this.capacity = capacity;myArray = new Object[capacity];}//插入元素public void push(Item item) {if (n >= capacity/2) {capacity *= 2;Object[] temp = new Object[capacity];for (int i = 0; i < capacity/2; i++)temp[i] = myArray[i];myArray = temp;}myArray[n++] = item;}public Item peek() {if (n == 0)return null;Item item = (Item) myArray[n-1];return item;}//删除元素public Item pop() {if (isEmpty()) throw new NullPointerException();Item item = (Item) (myArray[--n]);myArray[n] = null;return item;}//元素个数public int size() {return n;}//是否为空public boolean isEmpty() {return n == 0;}//测试public static void main(String[] args) {}}
栈是一种逻辑数据结构,它底层是依靠数组或链表实现的。我这里是用数组和单链表实现的,我写这两篇博客是为了自己以后查找、再学习方便,所以可能有错,或者还有比我更好的方法,欢迎各位参与讨论。。(我目前是一个菜鸟)

0 0
原创粉丝点击