一維陣列,模擬堆疊資料結構
- 使用一維陣列,模擬堆疊資料結構
- _
- _
- _
- 堆疊類
- 測驗類
使用一維陣列,模擬堆疊資料結構
要求:
1、這個堆疊可以存盤java中的任何參考型別的資料,
2、在堆疊中提供push方法模擬壓堆疊,(堆疊滿了,要有提示資訊,)
3、在堆疊中提供pop方法模擬彈堆疊,(堆疊空了,也要有提示資訊,)
4、撰寫測驗程式,new堆疊物件,呼叫push pop方法來模擬壓堆疊彈堆疊的動作,
_
_
_
堆疊類
public class MyStack {
//這個堆疊可以存盤java中任何參考資料型別,所以選用Object.
private Object[] elements;
//堆疊幀(永遠指向堆疊頂部的元素)
private int index = -1;
//構造方法
public MyStack() {
//默認初始化容量為10
this.elements = new Object[10];
}
public MyStack(Object[][] elements) {
this.elements = elements;
}
//setter and getter
public Object[] getElements() {
return elements;
}
public void setElements(Object[] elements) {
this.elements = elements;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
//push方法(壓堆疊)
public void push(Object obj){
if(index >= elements.length - 1){
System.out.println("堆疊已滿,壓堆疊失敗");
return;
}
this.index++;
this.elements[index] = obj;
System.out.println("壓堆疊" + obj + "成功" + "堆疊幀指向" + this.index);
}
//poo方法(彈堆疊)
public void pop(){
if(index <= -1){
System.out.println("堆疊已空,彈堆疊失敗");
return;
}
System.out.print("彈堆疊" + elements[index] + "成功");
index--;
System.out.println("堆疊幀指向" + index);
}
}
測驗類
public class MyStackTest {
public static void main(String[] args) {
//默認初始化容量為10
MyStack ms = new MyStack();
ms.push(new Object());
ms.push(new Object());
ms.push(new Object());
ms.push(new Object());
ms.push(new Object());
ms.push(new Object());
ms.push(new Object());
ms.push(new Object());
ms.push(new Object());
ms.push(new Object());
//堆疊已滿,壓堆疊失敗
ms.push(new Object());
//彈堆疊java.lang.Object@cc34f4d成功堆疊幀指向8
ms.pop();
}
}
復習一下一維陣列
純手打
如有錯誤,請大佬指出,謝謝啦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/229838.html
標籤:java
下一篇:樹狀結構工具類
