大話資料結構中,這一塊其實對於初學的還是挺難的,我看了小半天,最後才轉過彎來,
首先看圖,圖中箭頭指明了思路,一開始我對鍊錶的頭部沒想明白,後來想通了,就是每次壓棧就相當於將元素放在鍊錶頭部,即棧頂指標元素相當於鍊錶中的首節點;
因此每次插入乙個,都需要將插入前的棧頂結點賦值給新節點的next結點屬性;
每次彈棧,都需要將top的next指向元素置為top元素;
下面上**:
記錄走過的歷程。class node
public node getnext()
public void setnext(node next)
public object getelement()
public void setelement(object element)
}public class linkliststack
//構造乙個指定大小的空棧
linkliststack(int size)
/*** 採用這種方法代表這每插入乙個元素,新的變成棧頂元素,同時每次都是鍊錶的頭結點
** @param element
* @return
*/public boolean push(object element)
//1.將插入前的棧頂元素變成新插入結點的next指標指向元素,2.新插入元素變成棧頂結點
top = new node(top, element);
count++;
return false;
}public object pop()
object element = top.getelement();
top = top.getnext();
count--;
return element;
}public boolean isempty()
public int size()
public object peek()
return top.getelement();
}public boolean isfull()
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利用鍊錶實現棧
在前面,寫了怎麼利用陣列來實現棧,以及動態陣列的利用。今天我們就利用鍊錶的方式來實現棧,我們知道鍊錶儲存資料只要記憶體夠,就可以放足夠多的資料,這也就解決了陣列帶來的弊端。鍊錶類 public class llnode public llnode object data public object ...