package chapter4.level1;
import java.util.Arrays;
public class ArrayStack {
//初始化栈的长度
public ArrayStack(int size) {
this.arr = new Object[size];
}
//存储栈的对象数组
public Object[] arr;
public int size = 0;
public Object peek() {
return arr[size - 1];
}
public void push(Object data) {
arr[size] = data;
size++;
//存储元素到数组长度四分之三时开始扩容
if (size >= arr.length * 3 / 4) {
expand();
}
}
public Object pop() {
Object temp = arr[size - 1];
size--;
return temp;
}
public void expand() {
arr = Arrays.copyOf(arr,arr.length + 10);
}
public void show() {
for (int i = size - 1; i >= 0; i--) {
System.out.print("\t"+ arr[i]);
}
}
}
class Test {
public static void main(String[] args) {
ArrayStack arrayStack = new ArrayStack(5);
arrayStack.push(1);
arrayStack.push(3);
arrayStack.push(7);
arrayStack.push(9);
arrayStack.push(15);
arrayStack.push(28);
arrayStack.show();
Object a = arrayStack.peek();
System.out.print("栈顶元素是" + a);
arrayStack.pop();
arrayStack.show();
}
}
算法通关村-基于数组实现栈
最新推荐文章于 2024-06-22 21:53:36 发布