06 雙向鍊錶

2022-08-02 08:21:07 字數 1062 閱讀 1275

修改:原理與單鏈表相同

刪除

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,刪除指...