ใน Link List ที่กล่าวมาแล้ว ทั้งที่เป็น Single Link List หรือ Circular Link List ท่องเที่ยวไปใน node ต่างๆ ไปได้ในทิศทางเดียวไม่สามารถย้อนกลับ ในการท่องเที่ยวไปใน node ถ้าต้องการ node ที่ผ่านไปแล้วจะต้องเริ่มต้นใหม่เสมอ ซึ่งเป็นการเสียเวลามาก ดังนั้น เพื่อให้สามารถย้อนกลับไปยัง node ที่ผ่านมาได้ทันที จึงได้กำหนดให้แต่ละ node มี pointer สำหรับชี้กลับ โดยแต่ละ node มี 2 Pointer คือ F และ B ซึ่งจะชี้ ไปยัง node ถัดไปและก่อนหน้าของ node นั้นตามลำดับ รูปแบบแต่ละ node เป็นดังนี้
การแทรกโหนดใน ลิงค์ลิสต์แบบสองทิศทาง
ขั้นตอนการแทรกรายการ
1. กำหนดชื่อให้กับ node เช่น node n ใน AVAIL แล้วเปลี่ยนไปชี้ยัง node ถัดจาก node n ของ Free pool
2. ที่ node n ตัว pointer F จะไปชี้ที่ node q
3. ที่ node n ตัว pointer B ชี้ไปที่ node p
4. ที่ node p ตัว pointer F จะเปลี่ยนจากชี้ที่ node q ไปชี้ node n แทน
5. ที่ node q ตัว pointer จะเปลี่ยนจากชี้ที่ node p ไปชี้ node n แทน
3. ที่ node n ตัว pointer B ชี้ไปที่ node p
4. ที่ node p ตัว pointer F จะเปลี่ยนจากชี้ที่ node q ไปชี้ node n แทน
5. ที่ node q ตัว pointer จะเปลี่ยนจากชี้ที่ node p ไปชี้ node n แทน
การลบโหนดใน ลิงค์ลิสต์แบบสองทิศทาง
ขั้นตอนการลบรายการ
1. ตัว pointer F ของ node p ชี้ไปยังตำแหน่งของ node q ซึ่งเดิม pointer B ของ node n ชี้อยู่
2. ตัว pointer B ของ node q ชี้ไปยังตำแหน่งของ node p ซึ่งเดิม pointer B ของ node n ชี้ อยู่
3. ตัว pointer F ของ node n ชี้ไปยัง pointer ของ AVAIL ชี้อยู่
4. ตัว pointer ของ AVAIL ชี้ไปยัง node n