Java使用鍊錶實現棧

2021-08-08 20:40:11 字數 1199 閱讀 7787

大話資料結構中,這一塊其實對於初學的還是挺難的,我看了小半天,最後才轉過彎來,

首先看圖,圖中箭頭指明了思路,一開始我對鍊錶的頭部沒想明白,後來想通了,就是每次壓棧就相當於將元素放在鍊錶頭部,即棧頂指標元素相當於鍊錶中的首節點;

因此每次插入乙個,都需要將插入前的棧頂結點賦值給新節點的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 ...