這是我對雙向鏈表的插入方法。它的工作原理,但傳遞方法的兩個參數看起來很麻煩。任何人都可以建議比這更清潔的方法?用於插入雙向鏈表(Java)的更好的方法結構
代碼 //執行示例 MyLinkedList list = new MyLinkedList(); 鏈接link1 =新鏈接(「A」); list.insert(list.head,link1); 鏈接link2 =新鏈接(「B」); list.insert(link1,link2); 鏈接link3 =新鏈接(「C」); list.insert(link2,link3); list.display_List_Start_From_Head();
public void insert(Link currentNode, Link newNode)
{
if(head == null)
{
head = newNode;
tail = newNode;
}
else
{
currentNode.next = newNode;
newNode.prev = currentNode;
tail = newNode;
}
}
public class MyLinkedList {
public Link head;
public Link tail;
public Link currentNode;
public Link newNode;
public MyLinkedList()
{
head = null;
tail = null;
}
public class Link {
public String data;
public Link prev;
public Link next;
public Link(String data)
{
this(data,null,null);
}
public Link(String data, Link prev, Link next)
{
this.data = data;
this.prev = prev;
this.next = next;
}
}
你想更簡單,只是遍歷結構,以找到結束,或者你可以在一個結構列表跟蹤最後一個節點?你可能會發現這就是爲什麼二叉樹是有用的,因爲你可以插入到正確的位置,所以它被排序。 –
可能codereview(http://codereview.stackexchange.com/)是問這個問題的最佳地點。 – JFPicard
@JamesBlack你是否建議將LinkedList作爲參數傳遞? – Nicholas