java数据结构- 栈
来源:互联网 发布:java io流详解 编辑:程序博客网 时间:2024/05/23 12:10
栈
概念很简单,栈 (Stack)是一种后进先出(last in first off,LIFO)的数据结构
可以理解为子弹匣,装子弹是一个个压进弹匣,拆子弹则要一个个拆出来,而最先拆出来的是最后压进去的子弹
java示例
package stucture;
import java.util.EmptyStackException;
import java.util.Random;
import java.util.Stack;
import java.util.concurrent.atomic.AtomicInteger;
/**
* Created by zhangchanglu on 2017/9/5
* email zclsoft@163.com
*/
public class MyStack {
private Object elements[];
AtomicInteger index = new AtomicInteger(0);
public MyStack(int size) { this.elements = new Object[size];}/** * 入栈 * * @param t 元素 * @return 元素 */public T push(T t) { int nIndex = index.getAndIncrement(); if (nIndex >= elements.length) { throw new ArrayIndexOutOfBoundsException(); } elements[nIndex] = t; return t;}/** * 出栈 * * @return 出栈元素 */public T pop() { int nIndex = index.decrementAndGet(); if (nIndex < 0) { throw new EmptyStackException(); } return (T) elements[nIndex];}public static void main(String[] args) { MyStack<String> stack = new MyStack<>(50); for (int i = 10; i < 60; i++) { stack.push(" 子弹"+i+" "); } System.out.println("|--子弹匣--|"); System.out.println("|__________|"); for (int i = 10; i < 60; i++) { System.out.println("|"+stack.pop()+"|"); } System.out.println("|^^^^-----/|");}
}
阅读全文
0 0
- java 实现栈数据结构
- java数据结构之栈
- java数据结构--栈
- java数据结构 五(栈)
- java数据结构之栈
- java数据结构栈
- Java数据结构_栈
- 数据结构JAVA --栈
- java数据结构之栈
- 数据结构--栈(java)
- java数据结构--栈
- 【Java数据结构】栈
- java数据结构 深搜+栈
- java实现栈数据结构
- Java实现栈数据结构
- 数据结构-Java实现栈
- Java数据结构--自定义栈
- 数据结构 栈结构 JAVA
- LaTex数学公式常见符号
- ubuntu ping不通DNS
- 获取AD中即将过期账号并邮件通知
- 备忘
- 浅谈JS的继承
- java数据结构- 栈
- 领域驱动设计案例之领域层框架搭建
- Unity开发Android应用优化指南(上)
- 【Python】python读写txt和json文件
- CAS操作
- Java多线程学习
- 用OpenCV批量读取图片的三种方法
- 简谈设计模式(一)——创建型模式
- 撤销进程详解