บทที่ 5 โครงสร้างข้อมูลคิว โครงสร้างข้อมูลที่มีลักษณะเป็นรายการในแนวเชิงเส้น(Linear List) เช่นกัน มีข้อกำหนดให้ชุดปฏิบัติการสามารถเพิ่มค่าแทรกเข้าไปในตอนท้ายของรายการเพียงด้านเดียว เรียกว่า ส่วนหลัง(Read) และการลบค่าในตอนต้นของรายการเพียงด้านเดียว เรียกว่าส่วนหน้า (Front)
รูปแบบของคิว Q2 Q3 ... Qr Q1 Front Rear
Insert (1),Insert (2),Insert (3),Remove (),Insert(4), โจทย์ Insert (1),Insert (2),Insert (3),Remove (),Insert(4), Insert (5),Remove()
เริ่มต้นโดยการคิว S ขึ้นมาเป็นคิวว่าง ไม่มีสมาชิกตัวชี้ส่วนหน้าและส่วนท้าย
นำค่า 1 เข้ามาเก็บเป็นตัวแรกโดยใช้ Insert (1) ได้คิว S=[1] ตัวชี้ Front = 1,Rear = 1 1 Front Rear
นำค่า 2 เก็บต่อโดยใช้ Insert (2) ได้คิว S=[1,2] ตัวชี้ Front = 1,Rear = 2 1 2 Front Rear
นำค่า 3 เก็บต่อโดยใช้ Insert (3) ได้คิว S=[1,2,3] ตัวชี้ Front = 1,Rear = 3 1 2 3 Front Rear
ต้องการดึงค่าออกมาโดยใช้ Remove() ได้คิว S=[2,3] ตัวชี้ Front = 2, Rear=3 2 3 Front Rear
นำค่า 4 เก็บต่อโดยใช้ Insert (4) ได้คิว S=[2,3,4] ตัวชี้ Front = 1,Rear = 4 2 3 4 Front Rear
นำค่า 5 เก็บต่อโดยใช้ Insert (5) ได้คิว S=[2,3,4,5] ตัวชี้ Front = 1,Rear = 5 2 3 4 5 Rear Front
ต้องการดึงค่าออกมาโดยใช้ Remove() ได้คิว S=[2,3,4] ตัวชี้ Front = 2, Rear=4 2 3 4 Front Rear
คิววงกลม มีลักษณะของเชิงเส้นรูปวงแหวนเป็นวงกลมที่สมาชิกตัวแรกต่อกับตัวสุดท้าย ถ้าอยากรู้ว่าถึงคิวตัวสุดท้ายแล้วยังให้ดูที่ Rearถ้า Rearอยู่หน้า Front ก็แสดงว่าถึงตัวสุดท้ายแล้ว
รูปแบบคิววงกลม 3 4 1 2
โจทย์ Insert(6),Insert(7),remove() Insert(9),Insert(4),remove()
นำค่า 6 เข้ามาเก็บเป็นตัวแรกโดยใช้ Insert (6) ได้คิว S=[6] ตัวชี้ Front = 6,Rear = 6 2 3 6 1 Front Rear
นำค่า 7 เข้ามาเก็บเป็นตัวแรกโดยใช้ Insert (7) ได้คิว S=[6,7] ตัวชี้ Front = 6,Rear = 7 2 3 6 7 1 Rear Front
ต้องการดึงค่าออกมาโดยใช้ Remove() ได้คิว S=[7] ตัวชี้ Front = 7, Rear=7 2 3 7 1 Front Rear
นำค่า 9 เข้ามาเก็บเป็นตัวแรกโดยใช้ Insert (9) ได้คิว S=[7,9] ตัวชี้ Front = 7,Rear = 9 2 3 9 Rear 7 1 Front
นำค่า 4 เข้ามาเก็บเป็นตัวแรกโดยใช้ Insert (4) ได้คิว S=[7,9,4] ตัวชี้ Front = 7,Rear = 4 3 2 4 9 Rear 7 1 Front
ต้องการดึงค่าออกมาโดยใช้ Remove() ได้คิว S=[9,4] ตัวชี้ Front = 9, Rear=4 3 2 4 9 Rear Front 1