java中通过数组模拟栈
2022/7/5 14:24:09
本文主要是介绍java中通过数组模拟栈,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package com.lut.javase.array; /* *第一题: 编写程序,使用一维数组,模拟栈数据结构。 要求: 1、这个栈可以存储java中的任何引用类型的数据。 2、在栈中提供push方法模拟压栈。(栈满了,要有提示信息。) 3、在栈中提供pop方法模拟弹栈。(栈空了,也有有提示信息。) 4、编写测试程序,new栈对象,调用push pop方法来模拟压栈弹栈的动作。 public class MyStack{ // 栈类 // 提供一个数组来存储栈中的元素 Object[] elements; // 栈帧(永远指向栈顶部的元素) // 每加1个元素,栈帧+1 // 每减1个元素,栈帧-1 int index; // 构造方法 // 构造方法是不是应该给一维数组一个初始化容量。 // push方法(push方法压栈) // 压栈表示栈中多一个元素。 // 但是栈如果已满,压栈失败。 // 这个方法的参数以及返回值类型自己定义。 // pop方法(pop方法弹栈) // 弹栈表示栈中少一个元素。 // 但是栈如果已空,弹栈失败。 // 这个方法的参数以及返回值类型自己定义。 } main(){ 测试... } */ public class HomeWork01 { public static void main(String[] args) { MyStack myStack = new MyStack(); Object a = new Object(); myStack.push(a); myStack.pop(); myStack.pop(); myStack.pop(); } } class MyStack{ int index = 0; Object obj; Object[] elements = new Object[20]; MyStack(){} MyStack(Object obj){ this.obj = obj;elements[index] = obj; } public void push(Object obj){ // elements[index] = obj; if(index < elements.length){ index++; elements[index] = obj; System.out.println(obj+"pushed"); }else{ System.out.println("栈可能满了"); } } public Object pop(){ if(index <= 0){ System.out.println("此栈可能为空"); return null; }else{ System.out.println(elements[index]+"poped"); Object a = elements[index]; index--; return a; } } }
这篇关于java中通过数组模拟栈的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25初学者必备:订单系统资料详解与实操教程
- 2024-12-24内网穿透资料入门教程
- 2024-12-24微服务资料入门指南
- 2024-12-24微信支付系统资料入门教程
- 2024-12-24微信支付资料详解:新手入门指南
- 2024-12-24Hbase资料:新手入门教程
- 2024-12-24Java部署资料
- 2024-12-24Java订单系统资料:新手入门教程
- 2024-12-24Java分布式资料入门教程
- 2024-12-24Java监控系统资料详解与入门教程