มีโครงสร้างข้อมูลเพื่อรักษารายการที่สั่งซื้อซึ่งสนับสนุนการดำเนินการต่อไปนี้ในเวลาตัดจำหน่ายหรือไม่
GetElement (k) : ส่งคืนองค์ประกอบที่ของรายการ
InsertAfter (x, y) : ใส่องค์ประกอบใหม่ y ลงในรายการทันทีหลังจาก x
ลบ (x) : ลบ x ออกจากรายการ
สำหรับการดำเนินการสองครั้งล่าสุดคุณสามารถสมมติได้ว่า x ถูกกำหนดให้เป็นตัวชี้ไปยังโครงสร้างข้อมูลโดยตรง InsertElement ส่งคืนตัวชี้ที่สอดคล้องกันสำหรับ y InsertAfter (NULL, y) แทรก y ที่จุดเริ่มต้นของรายการ
ตัวอย่างเช่นเริ่มต้นด้วยโครงสร้างข้อมูลที่ว่างเปล่าการดำเนินการต่อไปนี้จะอัพเดตรายการที่สั่งซื้อตามที่แสดงด้านล่าง:
- InsertAfter (NULL, a) [a]
- InsertAfter (NULL, b) [b, a]
- InsertAfter (b, c) [b, c, a]
- InsertAfter (a, d) [b, c, a, d]
- ลบ (c) [b, a, d]
หลังจากการอัปเดตห้ารายการนี้ GetElement (2) ควรกลับ d และ GetElement (3) ควรกลับข้อผิดพลาด