Java資料結構與演算法 四 鍊錶

2021-09-24 09:00:31 字數 1290 閱讀 9389

鍊錶是一種物理儲存單元 上非連續、非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標 鏈結次序實現的。鍊錶由一系列結點(鍊錶中每乙個元素稱為結點)組成,結點可以在執行時動態生成。每個結點包括兩個部分:乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標 域。 相比於線性表

順序結構,操作複雜。由於不必須按順序儲存,鍊錶在插入的時候可以達到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資料結構與演算法 四 鍊錶

鍊錶是一種物理儲存單元 上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標 鏈結次序實現的。鍊錶由一系列結點 鍊錶中每乙個元素稱為結點 組成,結點可以在執行時動態生成。每個結點包括兩個部分 乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標 域。相比於線性表 順序結構,操作複...