编写程序,使用一维数组,模拟栈数据结构。 要求: 1、这个栈可以存储java中的任何引用类型的数据。 2、在栈中提供push方法模拟压栈。(栈满了,要有
生活随笔
收集整理的這篇文章主要介紹了
编写程序,使用一维数组,模拟栈数据结构。 要求: 1、这个栈可以存储java中的任何引用类型的数据。 2、在栈中提供push方法模拟压栈。(栈满了,要有
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
代碼
/*第一題:編寫程序,使用一維數(shù)組,模擬棧數(shù)據(jù)結(jié)構(gòu)。要求:1、這個(gè)棧可以存儲(chǔ)java中的任何引用類型的數(shù)據(jù)。2、在棧中提供push方法模擬壓棧。(棧滿了,要有提示信息。)3、在棧中提供pop方法模擬彈棧。(棧空了,也有有提示信息。)4、編寫測試程序,new棧對象,調(diào)用push pop方法來模擬壓棧彈棧的動(dòng)作。 */ package com.bjpowernode.javase.day23homework;public class Homework1 {public static void main(String[] args) {MyStack myStack = new MyStack();//壓棧myStack.push(new A());//壓棧成功,com.bjpowernode.javase.day23homework.A@6acbcfc0myStack.push(new B());//壓棧成功,com.bjpowernode.javase.day23homework.B@3feba861myStack.push(new C());//壓棧失敗,棧已滿,先生請回!//彈棧myStack.pop();//彈棧成功,com.bjpowernode.javase.day23homework.B@3feba861myStack.pop();//彈棧成功,com.bjpowernode.javase.day23homework.A@6acbcfc0myStack.pop();//棧已空,何必苦苦相逼,卻只能徒勞而返null!myStack.pop();//棧已空,何必苦苦相逼,卻只能徒勞而返null!} } class A{} class B{} class C{}class MyStack{//定義object數(shù)組,提供空間壓棧彈棧private Object[] objects;//棧幀,永遠(yuǎn)指向棧頂元素,初始情況object數(shù)組沒有元素,棧幀指向-1private int index = -1;//poppublic Object pop(){//判斷棧空否if (index < 0){System.out.println("棧已空,何必苦苦相逼,卻只能徒勞而返null!");return null;}else{//返回當(dāng)前元素后,棧幀所指元素進(jìn)行減一操作System.out.println("彈棧成功," + objects[index]);return objects[index--];}}//pushpublic void push(Object obj){//棧幀指向object數(shù)組元素下標(biāo)的下一個(gè)index++;if (index >= objects.length){System.out.println("壓棧失敗,棧已滿,先生請回!");//棧幀永遠(yuǎn)指向當(dāng)前元素index--;}else{//壓棧,將引用類型數(shù)據(jù)壓入棧中this.objects[index] = obj;System.out.println("壓棧成功," + obj);}}//constructorpublic MyStack() {//初始默認(rèn)棧空間為2this(new Object[2]);}public MyStack(Object[] objects) {this.objects = objects;}//setter and getterpublic Object[] getObjects() {return objects;}public void setObjects(Object[] objects) {this.objects = objects;}public int getIndex() {return index;}public void setIndex(int index) {this.index = index;} }總結(jié)
以上是生活随笔為你收集整理的编写程序,使用一维数组,模拟栈数据结构。 要求: 1、这个栈可以存储java中的任何引用类型的数据。 2、在栈中提供push方法模拟压栈。(栈满了,要有的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ZZULIOJ 1099: 角谷猜想(多
- 下一篇: 为某个酒店编写程序:酒店管理系统,模拟订