数据结构-用数组模拟栈
来源:互联网 发布:getdata软件 编辑:程序博客网 时间:2024/05/21 03:24
栈是一种抽象数据类型,是程序员的工具。
栈的特点:先入后出
push操作示意图:
(图是从浙大的数据结构慕课视频上截得)
pop:
代码:
/* * 使用数组实现栈 * * 栈的特点:先入后出 * * 2017年11月29日20:08:56 * */public class ArrayStack{private int [] arr ;private int maxSize ;//指定数组长度private int Top ;//栈顶(索引)//初始化栈public ArrayStack ( int maxSize ){this.maxSize = maxSize ;arr = new int [maxSize];Top = -1 ;//代表当前栈中没有元素}//入栈public void push ( int data ){//栈满了就提示并直接返回if ( isFull () ){System.out.println ( "Sorry , 栈满了" );return ;}arr [++Top] = data ;//入栈}//出栈public int pop (){// = -1 说明栈是空的if ( isEmpty () ){System.out.println ( "当前栈中没有元素!" );return 0;}int temp = arr [Top--] ; //取出栈顶元素后索引-1return temp ;//返回栈顶元素}//判断是否满栈public boolean isFull (){return Top == maxSize - 1;//maxSize指的是数组长度,-1后表示实际索引范围}//判断栈是否为空public boolean isEmpty (){return Top == -1 ;}//遍历public void display (){if ( isEmpty () ){System.out.println ( "栈是空的" );return ;}//遍历顺序: 从顶到底System.out.println ( "Top -> bottom" );for ( int i = Top ; i >= 0 ; i -- ){System.out.print ( arr [i] + " " );}System.out.println ();}}
阅读全文
1 0
- 数据结构-用数组模拟栈
- 数据结构03.1->Stack栈的模拟(数组)
- 用数组模拟栈
- 数据结构03.1 队列模拟(数组)
- 数据结构实验之栈:行编辑器 数组模拟栈
- 数据结构示例之数组模拟多栈实现
- c语言实现数据结构中的栈(数组模拟)
- 用数组去模拟栈
- java用数组模拟栈
- 用数组模拟栈操作
- 用数组模拟栈操作
- c 数据结构 ArrayStack 数组模拟堆栈
- 数据结构之用栈模拟队列
- 【数据结构】 栈的模拟
- 数据结构-用数组实现栈
- 数据结构 算法3.4(栈的应用) 表达式求值(stl版and数组模拟版)
- 栈-数组模拟栈
- 数组模拟栈
- UE4移动组件详解(二)——移动同步机制
- Merge Two Binary Trees
- MAC 下个人常用命令备忘录
- 安卓setText(java.lang.CharSequence) on a null object reference解决办法
- 如何让eclipse进行智能提示
- 数据结构-用数组模拟栈
- not get much sleep that night after the
- TensorBoard-01-网络结构
- spring jar包详解
- 洛谷P3371 【模板】单源最短路径
- 基于mint-ui的移动应用开发案例一(简介)
- 爬虫简要示例 以简书四灵传奇为例
- Java中的强制类型转换
- ORA-28000:the account is locked 用户scott被锁