java中堆疊的模擬

2021-06-26 22:23:22 字數 828 閱讀 5193

原帖為:

本帖對其稍加改進

class stackdemo

public boolean isempty()

public boolean isfull()

//獲取堆疊長度

public int getsize()

//獲取堆疊中存放的元素個數

public int getelementscount()

//新增元素

public boolean push(object obj)

datas[++top]=obj;

return true;

} //取出元素

public object pop()

return datas[top--];

} //返回棧頂元素

public object getpeek() }

class student

public void setname(string name)

public void setage(int age)

public string getname()

public int getage() }

class stacktest

system.out.println("元素個數:"+sd.getelementscount());

}}

列印結果為:

元素個數:4

姓名:張三---年齡:18

student@6af62373//此處是student的位址

2小明2

小明1元素個數:0

特殊堆疊 模擬

堆疊是一種經典的後進先出的線性結構,相關的操作主要有 入棧 在堆疊頂插入乙個元素 和 出棧 將棧頂元素返回並從堆疊中刪除 本題要求你實現另乙個附加的操作 取中值 即返回所有堆疊中元素鍵值的中值。給定 n 個元素,如果 n 是偶數,則中值定義為第 n 2 小元 若是奇數,則為第 n 1 2 小元。輸入...

用堆疊模擬佇列,和用佇列模擬堆疊

最近在看 演算法導論 第十章裡面有一題是用了 兩個堆疊模擬乙個佇列,我設計的演算法如下 堆疊a和b,a用作入隊,b出隊 1 判隊滿 如果a滿且b不為空,則隊滿 2 判隊空 如果a和b都為空,則隊空 3 入隊 首先判隊滿。若隊不滿 1 棧a若不滿,則直接壓入棧a 2 若a滿,則將a中的所有元素彈出到棧...

Java中堆 棧 方法區分析

堆 堆用於儲存建立好的物件和陣列 陣列也是物件 jvm只有乙個堆,被所有執行緒共享 對是乙個不連續的記憶體空間,分配靈活,速度慢 棧 棧描述的是方法執行的記憶體模型。每個方法被呼叫都會建立乙個棧幀 儲存區域性變數 運算元 方法出口等 jvm為每個執行緒建立乙個棧,用於存放改執行緒執行方法的資訊 實際...