鍊錶是一種常見的基礎資料結構,是一種線性表,但是並不會按線性的順序儲存資料,而是在每乙個節點裡存到下乙個節點的指標。
使用鍊錶的優點
可以克服陣列鍊錶需要預先知道資料大小的缺點,
鍊錶結構可以充分利用計算機記憶體空間,實現靈活的記憶體動態管理。
缺點:鍊錶失去了陣列隨機讀取的優點,同時鍊錶由於增加了結點的指標域,占用空間比較大。
1.單鏈表
顧名思義,單鏈表就是只朝乙個方向遍歷,節點(node)由儲存的資料date和鍊錶的指標next組成。
單向鍊錶只可向乙個方向遍歷,一般查詢乙個節點的時候需要從第乙個節點開始每次訪問下乙個節點,一直訪問到需要的位置。而插入乙個節點,對於單向鍊錶,我們只提供在煉表頭插入,只需要將當前插入的節點設定為頭節點,next指向原頭節點即可。刪除乙個節點,我們將該節點的上乙個節點的next指向該節點的下乙個節點。
[a->b->c->d->e->f]在表頭增加節點:在表頭新增乙個節點s,將其設為head節點,原先head的next只想原節點。
[ s ->a->b->c->d->e->f]
[a->b->c->e->f]
Java 鍊錶
鍊錶結點 package com.darren.test.datastructure 鍊錶節點 author darren.zhang public class link public int getvalue public void setvalue int value public link g...
鍊錶(Java)
該 於部落格 先構造 節點物件node 鏈結點,相當於車廂 public class node 顯示方法 public void display 再構造 鍊錶物件linklist,現實方法刪除插入 鍊錶,相當於車頭 public class linklist 插入乙個節點,在頭結點後進行插入 pub...
Java 鍊錶
對鍊錶的操作比較難的就是反轉,近期會再寫一篇關於鍊錶反轉的。定義乙個鍊錶類 實現頭插 尾插 任意位置插入 指定位置查詢 指定位置刪除 反轉 列印 取長度操作 final class link 將結點定義為乙個私有內部類 private class node node int data 尾插 publ...