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代码实现(复习用)相关推荐

  1. 2021-9-下旬 数据结构-线性表-队列-java代码实现(复习用)

    话说...每次都用现成的类实现,是不是有点偷懒 //队列的本质也是线性表,特性为只在线性表首位端进行操作,为先进先出,和生活中排队的队列是一样的 //队列涉及到的操作主要是入队(enQueue)和出队 ...

  2. 2021-9-下旬 数据结构-线性表-链表-java代码实现(复习用)

    链表涉及到指针了,这里我还不了解java里对指针的隐藏,又由于以前学过C++里的指针,二者混淆,导致一开始非常蒙,出了很多问题,当然后来随着边写边查,基本都解决了. 顺便学习了一下java里的泛型 / ...

  3. 2021 - 9 -下旬 数据结构- 线性表 -双端循环队列 - java实现

    //循环双端队列:Circle Double Ended Queue //本质是对动态数组的优化 //队头队尾都可以添加或删除元素 //相比于普通循环队列需要注意的点是在队头插入元素时的对front前 ...

  4. 2021 - 9 下旬 数据结构-线性表-循环队列-java实现代码

    //循环队列,本质就是用动态数组实现的,且出队入队时间复杂度均O(1)的队列 //相比普通队列,增设一个front指针,代表队头,代表下一个出队的元素 //循环队列的重点在于队头队尾的元素的下标的计算 ...

  5. 2021-9-下旬 数据结构-线性表-双向链表-java代码实现(复习用)

    public class DoubleLinkedListZH<E> {//调用方法参数是index的记得检测是否在合法范围(0~size-1)内,可以写一个arrangeCheck函数, ...

  6. 2021-9-下旬 数据结构 - 线性表 - 循环链表 - java实现代码(复习用)

    public class CycleLinkedListZH<E> {public static final int ELEMENT_NOT_FOUND = -1;private int ...

  7. c语言用两个栈构造队列伪码,数据结构习题线性表栈队列.doc

    数据结构习题线性表栈队列 线性表(58) 1. 在单链表.双链表和单循环链表中,若仅知道指针p指向某结点,不知道头指针,能否将结点*p从相应的链表中删去?若可以,其时间复杂度各为多少? 2.设线性表的 ...

  8. 数据结构-线性表之用队列实现栈用栈实现队列

    文章目录 **********用队列实现栈 一:思路 二:实现 (1)结构体定义 (2)初始化和销毁 (3)进"栈" (4)出"栈" 三:代码 ******** ...

  9. 数据结构——线性表(三)

    数据结构--线性表(三) 作者:黑衣侠客 一.线性表的定义 线性表,从名字来看,可以发现,是具有像线一样性质的表 线性表:零个或多个数据元素的有限序列. 首先,它是一个序列,也就是说,元素之间是有顺序 ...

最新文章

  1. mysql主从数据库含义_(转)Mysql数据库主从心得整理
  2. MFC界面编程新思路--模仿MATLAB式的界面
  3. iterm2 保存阿里云登陆并防止断开连接
  4. CSS reset的重新审视 – 避免样式重置
  5. ed新手使用进阶全功略
  6. SAP License:SAP不便解决的问题之九——客户退货维修
  7. sql stuff 函数_SQL STUFF函数概述
  8. java name_Java枚举name()方法及示例
  9. 2008年下半年软件水平考试之程序员试题分析
  10. FME 坐标系使用(二)----关于Beijing54坐标系和Xian80坐标系说明的补充
  11. Unity SRP自定义渲染管线学习1.1:初步搭建
  12. SQL查询执行某条SQL语句所花费的时间
  13. Delphi编程中流的使用
  14. [计算机毕业设计]元学习方法的小样本图像分类算法
  15. Big Faceless Applet PDF阅读器
  16. MVC与MVVM区别
  17. vue2.0 实现tab标签切换效果 内容可以自行定义
  18. TensorRT文档翻译
  19. 佟大为新任《非诚》嘉宾 极力反对异地恋
  20. ubuntu系统禁用自带Nouveau驱动

热门文章

  1. InterlockedIncrement函数详解
  2. Python:docx模块
  3. 2 Docker安装及使用
  4. (chap6 Http首部) 响应首部字段 Accept-RangeAge Etag
  5. C++ Primer 5th笔记(chap 13 拷贝控制)析构函数
  6. C++ Primer 5th笔记(9)chapter9 顺序容器 forward_list
  7. GPTEE中定义的RSA的Algorithm Identifier详解
  8. optee的异常向量表-(irq,fiq,svc...)
  9. HTTP与HTTPS——密码学笔记(九)
  10. java IO流用法