java利用鍊錶實現棧

2021-09-23 06:19:23 字數 937 閱讀 9307

在前面,寫了怎麼利用陣列來實現棧,以及動態陣列的利用。今天我們就利用鍊錶的方式來實現棧,我們知道鍊錶儲存資料只要記憶體夠,就可以放足夠多的資料,這也就解決了陣列帶來的弊端。

鍊錶類:

public class llnode 

public llnode(object data)

public object getdata()

public void setdata(object data)

public llnode getnext()

public void setnext(llnode next)

}

實現棧的類:

public class llstack 

public boolean isempty()

public void push(object data)

else if(headnode==null)

else }

public object pop()

data=headnode.getdata();

headnode=headnode.getnext();

return data;

} public object top()

data=headnode.getdata();

return data;

} public int getlength()

else

}return count;

}}

測試類:

public static void main(string args)
測試的結果為:

java 通過鍊錶實現棧

節點類 package stack.demo public class node public node getnextnode public void setnextnode node nextnode public object getdata public void setdata objec...

Java實現棧 佇列 鍊錶

棧 底層陣列 棧頂指標 public class mystack 自定義構造器,自定義初始化棧大小 public mystack int initsize 插入 public void push int num 刪除 public intpop 檢視 public intpeek 佇列 底層陣列 佇...

Java使用鍊錶實現棧

大話資料結構中,這一塊其實對於初學的還是挺難的,我看了小半天,最後才轉過彎來,首先看圖,圖中箭頭指明了思路,一開始我對鍊錶的頭部沒想明白,後來想通了,就是每次壓棧就相當於將元素放在鍊錶頭部,即棧頂指標元素相當於鍊錶中的首節點 因此每次插入乙個,都需要將插入前的棧頂結點賦值給新節點的next結點屬性 ...