鍊錶是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標
鏈結次序實現的。鍊錶由一系列結點(鍊錶中每乙個元素稱為結點)組成,結點可以在執行時動態生成。每個結點包括兩個部分:乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標
域。 相比於線性表
順序結構,操作複雜。由於不必須按順序儲存,鍊錶在插入的時候可以達到o(1)的複雜度,比另一種線性表順序表快得多,但是查詢乙個節點或者訪問特定編號的節點則需要o(n)的時間,而線性表和順序表相應的時間複雜度分別是o(logn)和o(1)。
package com.fantj.datastruct.listnode;
/** * 鍊錶結構,鏈結點
* created by fant.j.
* 2017/12/19 22:19
*/public class node
/*** 顯示方法
*/public void display()
}
package com.fantj.datastruct.listnode;
/** * 鍊錶
* created by fant.j.
* 2017/12/21 11:26
*/public class linklist
/*** 插入乙個結點,在頭結點後進行插入
*/public void insertfirst(long value)
/*** 刪除乙個結點,在頭結點後進行刪除
*/public node deletefirst()
/*** 顯示方法
*/public void display()
}/**
* 查詢方法
*/public node find(long value)
current = current.next;//繼續往下找
}return current;
}/**
* 刪除方法,根據資料域來進行刪除
*/public node delete(long value)
previous = current; //提取出當前結點作為前乙個結點(用該結點的next指向刪除結點的後乙個結點)
current = current.next; //繼續往下找
}if (current == first)else
return current;
}}
原始碼:git位址 Java資料結構與演算法 四 鍊錶
鍊錶是一種物理儲存單元 上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標 鏈結次序實現的。鍊錶由一系列結點 鍊錶中每乙個元素稱為結點 組成,結點可以在執行時動態生成。每個結點包括兩個部分 乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標 域。相比於線性表 順序結構,操作複...
Java資料結構與演算法 四 鍊錶
鍊錶是一種物理儲存單元 上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標 鏈結次序實現的。鍊錶由一系列結點 鍊錶中每乙個元素稱為結點 組成,結點可以在執行時動態生成。每個結點包括兩個部分 乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標 域。相比於線性表 順序結構,操作複...
Java資料結構與演算法 四 鍊錶
鍊錶是一種物理儲存單元 上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標 鏈結次序實現的。鍊錶由一系列結點 鍊錶中每乙個元素稱為結點 組成,結點可以在執行時動態生成。每個結點包括兩個部分 乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標 域。相比於線性表 順序結構,操作複...