修改:原理與單鏈表相同
刪除
public class doublelinkedlist
// 新增結點到雙向鍊錶(追加)
public void add(heronode2 node)
// 按編號順序將結點到鍊錶(如果有這個排名, 則新增失敗, 並給出提示)
public void insertbyorder(heronode2 node) else if (temp.next.no == node.no)
temp = temp.next; // 後移
}// 2. 新結點應插入到 temp 和 temp.next 之間
if (!flag) else
}// 根據編號修改結點資料
public void updatebyno(heronode2 node)
temp = temp.next;
}// 根據 flag 是否找到要修改的結點
if (flag) else
}// 刪除結點(自我刪除)
public void deletenode(int no)
// 2. 對於雙向鍊錶, 直接找到待刪除結點即可
heronode2 temp = head.next;
boolean flag = false;
while (temp != null)
temp = temp.next;
}if (flag) else
}// 列印鍊錶(遍歷)
public void showlist()
// 頭結點不能動, 故需要乙個臨時變數來遍歷
heronode2 temp = head.next;
while (temp != null)
}}class heronode2
@override
public string tostring()
}
1 5 雙向鍊錶
實現 public class doublelinkedlistdemo 鍊錶操作類 class doublelinkedlist 新增節點 同單向,但有點區別,加上前乙個指標 public void add heronode2 heronode2 temp.next heronode2 heron...
20 雙向鍊錶
1 define crt secure no warnings 23 include4 include5 include67 define ok 1 8 define error 0 9 define true 1 10 define false 0 1112 typedef int elemtyp...
19 雙向鍊錶
1,建立乙個雙向鍊錶,並初始化賦值 2,在指定結點前插入乙個結點 這裡直接是第三個結點前插入乙個結點 1 雙向鍊錶在指定結點前插入乙個結點,這裡在第三個結點前插入 3,在指定結點後插入乙個結點,這裡直接是第乙個結點後插入新節點 1 雙向鍊錶在指定結點後插入乙個結點,這裡在第乙個結點後插入 4,刪除指...