首页 > 代码库 > 【数据结构】栈-数组的实现
【数据结构】栈-数组的实现
首先是定义栈的基本结构,因为用数组实现
private String[] stack; private int TOP = 0;
然后是构造方法
StackOfStrings(int capacity) { stack = new String[capacity]; }
然后是push,注意,TOP永远指向的是压入元素的后一位。
public void push(String str) { if (TOP == stack.length) // if full, increase the stack size resize(2 * stack.length); stack[TOP++] = str; }
然后是pop
public String pop() { String popItem = stack[--TOP]; // if equal to 1/4, decrease the stack size if (TOP > 0 && TOP == stack.length / 4) resize(stack.length / 2); return popItem; }
public boolean isEmpty() { return TOP == 0; }
最后附上resize的代码
public void resize(int capacity) { String[] temp = new String[capacity]; for (int i = 0; i < TOP; i++) temp[i] = stack[i]; stack = temp; }
【数据结构】栈-数组的实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。