手寫雙向鍊錶LinkedList的幾個常用功能

2021-09-12 19:00:14 字數 1626 閱讀 9562

實現的功能如下:

1)建立鍊錶

2)新增節點(預設新增和指定位置新增)

3)訪問某乙個節點

4)刪除節點

5)獲得鍊錶的長度大小

6)判斷鍊錶是否為空

7)自定義鍊錶的列印格式

8)清空鍊錶

*注意:要弄清楚節點的前赴 和 後繼,刪除時要注意賦值的順序!!!

定義 鍊錶中 節點的類node

public class node 

public node(object value, node pre, node next)

}

定義雙向鍊錶linklist,實現功能如下:

/**

* 雙向鍊錶

* * @author min

* */

public class linklist

public int size()

public boolean isempty()

public void clear()

/*** 在末尾新增新的資料

* * @param value 資料

*/public void add(object value)

/*** 在特地位置建立新的節點

* @param index

* @param value

*/public void add(int index, object value)

else

}/**

* 獲取特定位置的節點

* @param index

* @return 節點儲存的值

*/public object get(int index)

/*** 刪除特定的節點

* @param index

* @return 被刪除的節點

*/public node remove(int index)

/*** 檢查索引是否在鍊錶內

* * @param index

*/private void checklinklist(int index)

/*** 遍歷鍊錶查詢特定的節點

* * @param index 索引

* @return 指定的節點

*/private node node(int index)

//從尾遍歷

else

return indexnode;

}

}/**

* 重寫鍊錶輸出方式

* */

@override

public string tostring() {

stringbuilder builder = new stringbuilder();

string str = "";

for(int i = 0; i測試

只實現了一些常用功能,自己寫的和工具包中的類對比,會從中get到很多。受益多多~

手寫 LinkedList(雙向鍊錶)

用於 linkedlist 繼承 param public inte ce mylist public class mylinkedlist implements mylist 1.00 將 element 作為最後乙個節點進行連線 param element void linklast e ele...

手寫雙向鍊錶LinkedList的幾個常用功能

實現的功能如下 1 建立鍊錶 2 新增節點 預設新增和指定位置新增 3 訪問某乙個節點 4 刪除節點 5 獲得鍊錶的長度大小 6 判斷鍊錶是否為空 7 自定義鍊錶的列印格式 8 清空鍊錶 注意 要弄清楚節點的前赴 和 後繼,刪除時要注意賦值的順序!定義 鍊錶中 節點的類node public cla...

mysql 雙向鍊錶 雙向鍊錶

雙向鍊錶是鍊錶變型,相比於單鏈表導航或者是向前和向後的兩種方式。以下是重要的術語來理解雙向鍊錶的概念 link 鍊錶的每個鏈路儲存資料稱為乙個元素。linkedlist linkedlist包含連線鏈結到名為首先第乙個鏈結,並稱為最後的最後乙個鏈結 last 雙向鍊錶表示 按照如上圖中所示,以下是要...