1 Star 0 Fork 0

CS-IMIS-23/20172306

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
ArrayStack.java 1.62 KB
一键复制 编辑 原始数据 按行查看 历史
package wek1;
import java.util.Arrays;
public class ArrayStack<T> implements StackADT<T>{
private final int DEFAULT_CAPACITY = 1000;
private int top;
private T[] stack;
public ArrayStack() {
top = 0;
stack = (T[]) (new Object[DEFAULT_CAPACITY]);
}
public ArrayStack(int initialCapacity)
{
top = 0;
stack = (T[])(new Object[initialCapacity]);
}
@Override
public T pop() throws EmptyCollectionException {
if (isEmpty()) {
throw new EmptyCollectionException("Stack");
}
top--;
T result = stack[top];
stack[top] = null;
return result;
}
@Override
public int size() {//确定栈的元素数目
return top;
}
@Override
public boolean isEmpty() {//确定栈是否为空
if (top == 0) {
return true;
} else {
return false;
}
}
@Override
public void push(T element) {//添加一个元素到栈的顶部
if (size() == stack.length) {
expandCapacity();
}
stack[top] = element;
top++;
}
private void expandCapacity() {
stack = Arrays.copyOf(stack, stack.length * 2);
}
@Override
public T peek() throws EmptyCollectionException {//查看栈顶部的元素
if (isEmpty()) {
throw new EmptyCollectionException("Stack");
}
return stack[top - 1];
}
@Override
public String toString() {
String result = "";
for (int i = 0; i < size() ; i++) {
result += stack[i];
}
return result;
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/CS-IMIS-23/20172306.git
git@gitee.com:CS-IMIS-23/20172306.git
CS-IMIS-23
20172306
20172306
master

搜索帮助