import java.util.ArrayList;
import java.util.List;
//栈的本质就是线性表,因为总在线性表的表尾端进行操作(出栈入栈),其重要特性为FILO先进后出
//所以在实现上选择 动态数组 和 双向链表 的进行出栈入栈的时间复杂度均为O(1),
//实现各个方法也和之前学过的差不多,这里偷懒选择用java自带的Arraylist动态数组类简单实现栈
//栈的应用很广泛,比如浏览器的前进后退功能其实就是用两个栈做到的
public class StackZH<E> {
private List<E> list = new ArrayList<>();
public void push(E element){
list.add(element);
}
public E pop(){
//类中调用已包含的别的类的变量需要类名.
E element = list.remove(list.size()-1);
return element;
}
public boolean isEmpty(){
return list.isEmpty();
}
public void clear(){
list.clear();
}
public E peek(){
E element = list.get(list.size()-1);
return element;
}
public int size(){
return list.size();
}
}
2021-9-下旬 数据结构-线性表- 栈 -java代码实现(复习用)
最新推荐文章于 2024-08-16 22:20:39 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)