5. การทางานของคว
การทํางานของคิว
(a) เริมตนสรางคิว
เรมตนสรางคว
่ Create Queue เปนคิววางไมมีสมาชิก
เปนคววางไมมสมาชก
(b) นาคา A เขามาเก็บเปนตัวแรกโดยใช Insert (A) ไดคิว Q=[A] ตัวชี้ Front=A, Rear=A
ํ
A
(c) นาคา B เก็บตอโดยใช Insert (B) ไดคว Q=[A,B] ตัวชี้ Front=A, Rear=B
ํ ิ
A B
6. การทางานของคว
การทํางานของคิว
(d)นาคา เขามาเกบตอ
(d)นําคา C เขามาเก็บตอ Insert (C) ไดคิว Q=[A,B,C] ตัวชี้ Front=A, Rear=C
ไดคว ตวช
A B C
(e) ตองการดึงคาออกมาโดยใช Remove() ไดคิว Q=[B,C] ตัวชี้ Front=B, Rear=C
B C
(f) นําคา D E เก็บตอโดยใช Insert (D) และ Insert(E) ไดคิว Q=[B C D E] ตัวชี้ Front=B
นาคา D,E เกบตอโดยใช ไดคว Q=[B,C,D,E] ตวช Front=B,
Rear=E
B C D E
7. การทางานของคว
การทํางานของคิว
(e) ตองการดึงคาออกมา 3 คา โดยใช Remove() และเก็บคา F โดยใช Insert(F) ไดคิว
ตองการดงคาออกมา คา โดยใช และเกบคา โดยใช ไดคว
Q=[E,F] ตัวชี้ Front=E, Rear=F
E F
11. • สิ่งทิ่พิจารณาเมื่อคิววางเปลาทราบไดจาก Front กับ Rear มีคาเทากัน
• เมื่อคิวเต็ม จะวนกลับมาจนมีคาเทากับ Front
• ทําใหเกิดความสับสนวา Front กับ Rear มีคาเทากันจะเปนสถานะของคิว
วางหรือคิวเต็ม maxSize-1
S
0
1
front
rear
สมาชกทอยู อนหนาสมาชกในตาแหนง
สมาชิกที่อยกอนหนาสมาชิกในตําแหนง Front เปนตําแหนงชองวางเสมอ ทําใหทราบวาคิวเต็มก็ตอเมื่อ
เปนตาแหนงชองวางเสมอ ทาใหทราบวาควเตมกตอเมอ
(Rear+1)%maxSize= Front