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

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

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

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


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

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

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

3 ตัวอย่างลักษณะการทำงาน ของ Queue 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 จะต้องทำการเคลียร์ Queue ก่อนโดยใช้ Clear Q ตัวอย่าง Clear Q (Que) F = 0, R=0 Enq (Que,4) 4 F = 1, R = 1 F R

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

8 ตัวอย่าง ( ต่อ ) 7 Deq (Que,Item) F = 3, R = 3 Item = 5 FR 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; VarQ : Queue; Front, Rear :0..N;

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

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

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

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

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

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


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

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


Ads by Google