[javaSE] 数据结构(栈)
2023-02-18 15:47:13 时间
栈(stack)是一种线性存储结构,有以下特点:
1.栈中数据是按照先进后出的方式进出栈的
2.向栈中添加删除元素时,只能从栈顶进行操作
使用数组实现栈
定义一个类ArrayStack
实现入栈方法push()
实现出栈方法pop()
实现返回栈顶元素方法peek()
public class ArrayStack { private int[] mArray; private int mCount; public ArrayStack(int num) { mArray=new int[num]; mCount=0; } /** * 入栈 * @param item */ public void push(int item){ mArray[mCount]=item; mCount++; } /** * 出栈 * @return */ public int pop(){ int top=mArray[mCount-1]; mCount--; return top; } /** * 返回栈顶元素 * @return */ public int peek(){ return mArray[mCount-1]; } /** * 打印 */ public void print(){ for(int i=0;i<=mCount-1;i++){ System.out.print(mArray[i]+","); } } /** * @param args */ public static void main(String[] args) { ArrayStack stack=new ArrayStack(3); stack.push(5); stack.push(6); stack.push(7); //stack.print();//输出 5,6,7, stack.pop(); //stack.print();//输出 5,6, stack.push(8); stack.print();//输出 5,6,8, } }
相关文章
- Win32汇编:算数运算指令总结
- 第十四届蓝桥杯集训——for——判断质数/素数
- 动态追踪之java agent
- 动态追踪技术之BTrace
- 如何取一个数字到N位小数点
- JVM运行时数据区知多少
- Hutool工具类之excel导入导出
- 图机器学习 | PyG 安装配置记录
- 通过工具和字节码带你深入理解运行时数据区
- 看一看JVM垃圾回收算法
- 聊一聊Serializable和Externalizable
- Win32汇编:数组与标志位测试总结
- 如何判断对象是否为垃圾
- Hotspot垃圾收集器大全
- :: 双冒号是什么?
- Win32汇编:各种语句的构造方式
- 如何在mybatis xml文件中定义局部变量?
- 00. Kotlin 安装和语言的基本组成
- 使用spring-boot-starter-data-elasticsearch 设置了long,为什么却变成了keyword类型
- Win32汇编:字符串浮点数运算过程