当前位置: 首页 > news >正文

数据结构-栈

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

栈是操作受限的线性表。栈只能对表尾进行读出写入操作,这个表尾称为栈顶,表头称为栈底,没有数据元素的称为空栈。栈是后进先出的线性表。

 

在java中,因为Stack<E>的父类是Vector<E>,所以Stack<E>也是线程安全的。

Stack.java(80):     public synchronized E pop() {

Stack.java(98):     public synchronized E peek() {

Stack.java(130):     public synchronized int search(Object o) {

 

ArrayList,LinkedList和Vector只要遵循堆栈操作的规则,是完全可以实现堆栈的功能的。

堆栈一般有以下操作:

push = add :将元素推入栈中。

pop = { obj = peek();remove(size() - 1); return obj;} :取出栈顶元素,并将该元素从栈中删除。

peek = get(size() - 1) :取出栈顶元素,不执行删除。

 

实例:

Stack stack = new Stack();

for ( int i = 0; i &lt; args.length; i++){

    stack.push(new Integer(args[i]));

}

while(!stack.empty()){

    Object obj = stack.pop();

    System.out.println(obj);

}

java 类 1 2 3 4 5 6 7 8 9

9

8

7

6

5

4

3

2

1

 

转载于:https://my.oschina.net/dubenju/blog/417477

相关文章:

  • java获取当前计算机网卡MAC地址
  • VMWare网络设置的3中方式(转)
  • 关于在eclipse中使用tomcat的笔记
  • Android设备路径及容量的读取
  • [裴礼文数学分析中的典型问题与方法习题参考解答]4.3.5
  • Linux安装mysql mysql5.5.40 NIOT
  • 构建高效且可伸缩的结果缓存
  • LVS四种负载均衡类型,十种调度方法
  • Skype for Business Server 2015-04-前端服务器-7-部署
  • Rails: No such file or directory - getcwd
  • GitHub 基本常用知识解答
  • Spring+Mybatis+Velocity配置
  • Startssl SSL 证书申请图解
  • loadrunner关联及web_reg_save_param方法浅析
  • Jquery Mobile 百度地图 Demo
  • 网络传输文件的问题
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • Akka系列(七):Actor持久化之Akka persistence
  • Git学习与使用心得(1)—— 初始化
  • httpie使用详解
  • javascript面向对象之创建对象
  • js对象的深浅拷贝
  • rabbitmq延迟消息示例
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • Shell编程
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • Vue.js 移动端适配之 vw 解决方案
  • windows-nginx-https-本地配置
  • windows下使用nginx调试简介
  • 离散点最小(凸)包围边界查找
  • 思否第一天
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 小程序button引导用户授权
  • 用jquery写贪吃蛇
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • python最赚钱的4个方向,你最心动的是哪个?
  • 我们雇佣了一只大猴子...
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • # 安徽锐锋科技IDMS系统简介
  • #{} 和 ${}区别
  • (2)Java 简介
  • (Note)C++中的继承方式
  • (Python第六天)文件处理
  • (二)JAVA使用POI操作excel
  • (三)终结任务
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • .gitignore文件---让git自动忽略指定文件
  • .mysql secret在哪_MySQL如何使用索引
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .NET6 命令行启动及发布单个Exe文件
  • .NET成年了,然后呢?