在前面,寫了怎麼利用陣列來實現棧,以及動態陣列的利用。今天我們就利用鍊錶的方式來實現棧,我們知道鍊錶儲存資料只要記憶體夠,就可以放足夠多的資料,這也就解決了陣列帶來的弊端。
鍊錶類:
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結點屬性 ...