์
อัลกอริทึมในการลบโหนดออกจากลิงค์ลิสต์ดังในตารางที่ 2
ตารางที่ 2 อัลกอริทึมการลบโหนดออกจากลิงค์ลิสต์
1.ถ้าลิงค์ลิสต์ว่าง
แจ้งกลับมาว่าลิงลิสต์ว่าง
ไม่เช่นนั้น
1.1 กำหนดตัวแปรพอยน์เตอร์ Q ชี้ไปยังโหนดที่ต้องการลบโดยใช้ Q = Next(P)
1.2 กำหนดให้ตัวชี้ของโหนดก่อนหน้าโหนดที่จะชี้ไปยังโหนดถัดไปแทนโดยใช้ Next(P) = Next(Q)
1.3 ปล่อยโหนดที่ต้องการลบเพื่อคืนพื้นที่หน่วยความจำ
ตัวอย่างลิงค์ลิสต์ในรูปที่ 5 ต่อไปนี้ เป็นอัลกอริทึมในการลบโหนดออกจากลิงค์ลิสต์ โดยเริ่มต้นให้ตัวแปรพอยน์เตอร์ P ชี้ไปโหนด 2 ซึ่งเป็นโหนดก่อนหน้าโหนด 3 ที่ต้องการลบ และขั้นตอนในการลบประกอบด้วย
(a) Q = Next (P) เป็นการใช้ตัวแปรพอยน์เตอร์ Q เป็นตัวช่วย กำหนดให้ชี้ไปยังโหนด 3 ที่ต้องการลบในรูปที่ 6
รูปที่ 6 กำหนดตัวแปรพอยน์เตอร์ Q ชี้ไปยังโหนดที่ต้องการลบ
(b) Next(P) =Next (Q) กำหนดให้ตัวชี้ของโหนด 2 ที่มีตัวแปรพอยน์เตอร์ P ชี้อยู่เปลี่ยนไปชี้ยังโหนด 4 ซึ่งเป็นโหนดถัดไปหลังโหนดที่ตัวแปรพอยน์เตอร์ Q ชี้อยู่ ในรูปที่ 7
รูปที่ 7 กำหนดตัวชี้ของโหนด 2 เปลี่ยนไปชี้ยังโหนด 4 แทนโหนด 3
(c) Free (Q) หลังจากนั้นจึงปลดปล่อยโหนดที่ต้องการลบซึ่งมีตัวพอยน์เตอร์ Q ชี้อยู่ เพื่อคืนพื้นที่หน่วยความจำของ
โหนดที่ลบไปและนำไปใช้กับงานอื่นได้ (Reuse)ได้เป็นรูปที่ 8