用Java實現,資料結構 鍊錶的增刪改查

2021-09-19 15:33:28 字數 1985 閱讀 1226

實現過程

特點:使用鍊錶結構可以克服陣列鍊錶需要預先知道資料大小的缺點,鍊錶結構可以充分利用計算機記憶體空間,實現靈活的記憶體動態管理。但是鍊錶失去了陣列隨機讀取的優點,同時鍊錶由於增加了結點的指標域,空間開銷比較大。

概述:單鏈表是鍊錶中結構最簡單的。乙個單鏈表的節點(node)分為兩個部分,第乙個部分(data)儲存或者顯示關於節點的資訊,另乙個部分(next)儲存下乙個節點的位址。最後乙個節點儲存位址的部分指向空值(null)。

特點:單向鍊錶只可向乙個方向遍歷,一般查詢乙個節點的時候需要從第乙個節點開始每次訪問下乙個節點,一直訪問到需要的位置。而插入乙個節點,對於單向鍊錶,我們只提供在煉表頭插入,只需要將當前插入的節點設定為頭節點,next指向原頭節點即可。刪除乙個節點,我們將該節點的上乙個節點的next指向該節點的下乙個節點。

概述:顧名思義雙向鍊錶它可以從兩個方向對鍊錶進行操作,它即具有頭結點又具有尾結點。

特點:對於單項鍊表,我們如果想在尾部新增乙個節點,那麼必須從頭部一直遍歷到尾部,找到尾節點,然後在尾節點後面插入乙個節點。這樣操作很麻煩,如果我們在設計鍊錶的時候多個對尾節點的引用,那麼會簡單很多。

package qcby.linklist;

public class linklisttest else

} /**

* 鍊錶的刪除

*/if(next == null)

linklisttest temp = next;

if(temp.data == data) else }

/*** 鍊錶的查詢

*/public linklisttest find(int data)

if(next.data == data) else }

/*** 鍊錶的更新

*/public void update(int data,int newdata)

//tostring方法:讓鍊錶以jason語句的形式返回

@override

public string tostring()

main方法

package qcby.linklist;

public class linklisttest1

}

結果

增加結果

linklisttest [data=666, next=linklisttest [data=5, next=linklisttest [data=6, next=linklisttest [data=59, next=linklisttest [data=-5, next=linklisttest [data=2, next=linklisttest [data=666, next=linklisttest [data=87, next=null]]]]]]]]

刪除結果

linklisttest [data=666, next=linklisttest [data=5, next=linklisttest [data=59, next=linklisttest [data=-5, next=linklisttest [data=2, next=linklisttest [data=666, next=linklisttest [data=87, next=null]]]]]]]

查詢結果

linklisttest [data=2, next=linklisttest [data=666, next=linklisttest [data=87, next=null]]]

修改結果

linklisttest [data=666, next=linklisttest [data=5000, next=linklisttest [data=59, next=linklisttest [data=-5, next=linklisttest [data=2, next=linklisttest [data=666, next=linklisttest [data=87, next=null]]]]]]]

資料結構 鍊錶(java實現)

鍊錶節點定義 private class node public void setnext node next public node object data private node head private int size public linkedlistonepoint public bo...

資料結構 單向鍊錶(java實現)

public class node 為節點追加節點 當前節點 node currentnode this while true 賦值當前節點 currentnode nextnode 把需要追回的節點追加為找到的節點的下乙個節點 currentnode.next node return this 刪...

Java資料結構之鍊錶的實現

在鍊錶資料結構中,我們需要使用到遞迴演算法。遞迴演算法是一種直接或間接地呼叫自身演算法的過程。在計算機編寫程式中,遞迴演算法對解決一大類問題是十分有效的,它往往使演算法的描述間接而且容易理解。但是遞迴必須要有出口,否則會遞迴過多造成記憶體溢位 首先構造乙個節點類 節點類 author zll cla...