[javaSE] 数据结构(栈)
2023-02-18 15:47:19 时间
栈(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, } }
相关文章
- Freemarker-数字默认格式化问题
- Chrome扩展插件的开发--获取网页Cookies
- 【以解决】项目使用feign时候提示bean不能注入feign
- Docker设置容器开机自启
- 常用的淘汰算法
- 分布式事务seata,TCC,最大努力通知,最终一致性解决方案——总结三!
- java分布式事务——最终一致性,最大努力通知总结!
- java分布式事务——seata,tcc解决方案总结!
- 分布式系统–拜占庭将军问题(The Byzantine Generals Problem)
- idea中启动SSM项目
- 【编程】给定一个部门,变量出当前部门的所有父部门包含当前部门
- 【解疑】ConcurrentHashMap 在JDK1.7时候put或get时候,怎么定位到数据的?
- Spring的BeanFactoryPostProcessor
- spring注解开发AnnotationConfigApplicationContext的使用
- 匿名内部类方式实现线程的创建
- spring异常:No runnable methods 解决方法
- 基础IO的理解与操作 - fd
- 【图文教程】Centos 7下安装Hadoop-管杀管埋的
- 【Flink教程-已解决】在idea中测试flink的时候,提示读取文件时候错误,提示文件不存在解决方案
- frp 服务器端 frps 一键安装卸载脚本