2Java學習筆記之資料結構 雙向鍊錶

2021-07-29 15:03:54 字數 1388 閱讀 7188

直接上**吧,比較簡單。

package doublelink;

/** * created by admin on 17/3/27.

* 雙鏈表的node

*/public class node

public string getdata()

public void setdata(string data)

public node getnext()

public void setnext(node next)

public node getpre()

public void setpre(node pre)

}

package doublelink;

/** * created by admin on 17/3/27.

* 雙鏈表

*/public class doublelinkedlist

public int size()

public void print()

node node = head;

while (node != null)

}/**

* 在末尾追加乙個node

* @param node

*/public void add(node node)

if (head == null) else

last.setnext(node);

node.setpre(last);

}size++;

}public void insert(int index, node node)

if (node == null)

//插頭部

if (index == 0) else

} else

//插到尾部的話,就不走括號內了

if(beinsertednode.getnext() != null)

beinsertednode.setnext(node);

node.setpre(beinsertednode);

}size++;

}/**

* 根據index查詢某個節點

* @param index

* @return

*/public node get(int index)

node node = head;

for (int i = 0; i < index; i++)

return node;

}}

**也比較好理解,無非就是insert時注意一下設定前後節點的引用。

具體雙向鍊錶的用途,還是得看實際情況。

資料結構(Java) 雙鏈表

一 雙鏈表結點類 public class doublenode二 雙鏈表的特徵和操作 head.next null且head.prev null if p.next null 中間插入 p.next.prev q p.next p p.prev.next p.next 有p.prev null i...

資料結構 2雙鏈表

實現簡單的雙鏈表 結構體node 前結點pre 後結點next 資料data 類dlist 頭結點head 尾結點last 長度len 主要功能有 新增 前插入 後插入 一般位置插入 刪除 前推出 後推出 值刪除 位置刪除 查詢 值查詢 位置查詢 鍊錶複製 列印 返回鍊錶長度 時間複雜度 1 新增 ...

資料結構學習之雙鏈表

原書這部分內容很多,至少相對於迴圈鍊錶是很多。相信當你把單鏈表的指標域搞清楚後,這部分應該難不倒你。現在我的問題是,能不能從單鏈表派生出雙向鍊錶?xml namespace prefix o ns urn schemas microsoft com office office 你可以有幾種做法 一種...