實現的功能如下:
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 雙向鍊錶表示 按照如上圖中所示,以下是要...