งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

คิว ลักษณะการทำงานของ Queue การดำเนินการของ Queue การตรวจสอบ Queue

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "คิว ลักษณะการทำงานของ Queue การดำเนินการของ Queue การตรวจสอบ Queue"— ใบสำเนางานนำเสนอ:

1 คิว ลักษณะการทำงานของ Queue การดำเนินการของ Queue การตรวจสอบ Queue
Circle Queue ความแตกต่างระหว่าง Stack กับ Queue

2 มีการจัดเก็บโดยอาศัยพื้นฐานของแถวลำดับและแบบ List
Queue Structure มีการจัดเก็บโดยอาศัยพื้นฐานของแถวลำดับและแบบ List ลักษณะการทำงานของ Queue การนำสมาชิกใหม่ใส่ไปใน Queue จะใส่ที่ปลายด้านหนึ่ง เรียกว่าส่วนท้าย หรือ Rear การนำสมาชิกออกจาก Queue จะทำที่ปลายอีกด้านหนึ่ง เรียกว่าส่วนหน้า หรือ Front

3 ตัวอย่างลักษณะการทำงานของ Queue
4 5 7 2 1 F R เป็นโครงสร้างแบบเข้าก่อน-ออกก่อน FIFO First In – First Out

4 การดำเนินการของ Queue (Operation on Queue)
การนำสมาชิกใหม่เข้าไปใน Queue (Add หรือ Insert) ใช้คำสั่ง Enq หมายถึงให้นำ Item ซึ่งเป็นสมาชิก ใหม่เข้าไปต่อท้ายสมาชิกทุกตัวที่อยู่ในโครงสร้าง Queue การนำสมาชิกออกจาก Queue (Remove หรือ Delete) ใช้คำสั่ง Deq หมายถึงเอาสมาชิกตัวแรกหรือตัวหน้า สุดใน Queue ออกมา แล้วส่งสามารถผ่าน Item

5 การตรวจสอบ Queue Queue ว่าง ใช้ฟังก์ชัน Empty Q
Queue ว่างค่าเป็น True Queue ไม่ว่างค่าเป็น False Queue ว่างและพยายามที่จะนำข้อมูลออกจะเกิด Underflow Queue เต็ม ใช้ฟังก์ชัน Full Q Queue เต็มค่าเป็น True Queue ไม่เต็มค่าเป็น False Queue เต็มและพยายามจะนำข้อมูลเข้าจะเกิด Overflow

6 การตรวจสอบ Queue การเคลียร์ Queue
Queue ก่อนโดยใช้ Clear Q ตัวอย่าง F = 0 , R=0 Clear Q (Que) Enq (Que,4) 4 F = 1 , R = 1 F R

7 ตัวอย่าง (ต่อ) F = 1 , R = 2 F = 1 , R = 3 Overflow F = 2 , R = 3
Enq (Que,5) F = 1 , R = 2 4 5 F R 4 5 7 Enq (Que,7) F = 1 , R = 3 F R Enq (Que,8) 4 5 7 Overflow F = 2 , R = 3 Item = 4 Deq (Que,Item) 5 7 F R

8 ตัวอย่าง (ต่อ) การเพิ่มข้อมูลเข้าต้องเข้าที่ Rear ของ Queue
F = 3 , R = 3 Item = 5 7 Deq (Que,Item) F R Deq (Que,Item) F = 0 , R = 0 Item = 7 Deq (Que,Item) Underflow การเพิ่มข้อมูลเข้าต้องเข้าที่ Rear ของ Queue Rear = Rear + 1 การนำข้อมูลออกต้องทำที่ Front ตัวแรกออกไป Front = Front - 1

9 โปรแกรมการเพิ่ม-ลดข้อมูลใน Queue
Const n=20; Type itemtype = char; Queue = Array[1..N] of itemtype; Var Q : Queue; Front, Rear :0..N;

10 โปรแกรมการเพิ่ม-ลดข้อมูลใน Queue (ต่อ)
Procedure Enq (Var Q:Queue;X:itemtype); Begin If Rear = n then writeln (‘Full Queue’) Else Begin Rear := Rear + 1 ; Q[Rear] :=X;

11 โปรแกรมการเพิ่ม-ลดข้อมูลใน Queue (ต่อ)
If Front = 0 then Front := 1; End; Procedure Deq (Var Q :Queue): itemtype; Begin If Front = 0 then writeln (‘Empty Queue’) Else

12 โปรแกรมการเพิ่ม-ลดข้อมูลใน Queue (ต่อ)
Begin Y := Q[Front]; If Front = Rear then Begin Front := 0, Rear :=0 Else Front := Front + 1; End;

13 Circle Queue เป็นการนำข้อมูลเข้าสู่ Queue โดยนำไปวางไว้ใน
ส่วนหน้า (นำส่วนหน้ามาใช้อีกกรณีที่ส่วนหน้าว่าง) เช่น นำข้อมูลส่วนท้ายของ Queue (n) ไปต่อกับส่วนหน้าที่ตำแหน่ง Q(1) ตัวอย่าง 5 Enq (Que,5) F=1 , R = 1 F R

14 ตัวอย่าง(ต่อ) F=1 , R = 2 F=1 , R = 3 F=2 , R = 3 Item = 5 F=2 , R = 1
Enq (Que,3) F=1 , R = 2 5 3 F R 5 3 2 Enq (Que,2) F=1 , R = 3 F R Deq (Que,Item) F=2 , R = 3 Item = 5 3 2 F R 4 3 2 F=2 , R = 1 Enq (Que,4) R F

15 ความแตกต่างระหว่าง Stack กับ Queue
เข้าก่อนออกก่อน ทำด้านใดด้านหนึ่งทั้งด้านหน้าด้านหลัง F , R การนำสมาชิกเข้า เรียกว่า Enq การนำสมาชิกออก เรียกว่า Deq Stack เข้าหลังออกก่อน ทำที่ส่วนปลาย การนำสมาชิกเข้า เรียกว่า Push การนำสมาชิกออก เรียกว่า Pop


ดาวน์โหลด ppt คิว ลักษณะการทำงานของ Queue การดำเนินการของ Queue การตรวจสอบ Queue

งานนำเสนอที่คล้ายกัน


Ads by Google