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

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

บทที่ 2. Queue Queue : ยังคงเป็น Linear list เป็นลักษณะการเข้าก่อนออก ก่อนตามลำดับ (First Come First Served : FCFS หรือ First In First Out) Front คือ.

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


งานนำเสนอเรื่อง: "บทที่ 2. Queue Queue : ยังคงเป็น Linear list เป็นลักษณะการเข้าก่อนออก ก่อนตามลำดับ (First Come First Served : FCFS หรือ First In First Out) Front คือ."— ใบสำเนางานนำเสนอ:

1 บทที่ 2

2 Queue Queue : ยังคงเป็น Linear list เป็นลักษณะการเข้าก่อนออก ก่อนตามลำดับ (First Come First Served : FCFS หรือ First In First Out) Front คือ index หรือตำแหน่ง ของข้อมูลที่เข้าก่อน Rear คือ index หรือตำแหน่ง ของข้อมูลที่เข้าทีหลัง Front = Rear = 0 แสดงว่าเป็น Queue ว่าง FrontRear InsertDelete

3 Queue ตัวอย่าง ของ Queue เช่น การ เข้าแถวเพื่อจองตัว, การเข้า Queue เพื่อการ ประมวลผล Algorithm การ Insert Queue Insert_Queue( Q[ ],front,rear,Item) { if (rear == Max) Display( “ Over flow ” ); Else { rear = rear +1; Q[rear] = Item; if(front == 0) front = 1; }

4 Queue สำหรับ - Search_Queue(Q,front,re ar,Item) - Display_ Queue(Q,front,rear) ให้นิสิตเขียนเอง

5 Queue Algorithm การ Delete Queue Del_Queue( Q[ ], front, rear) { item = Null; if (front == 0) Display(“Empty Queue”); else { item = Q[front]; if(front == rear) front = rear = 0; else front = front +1; } return item; }

6 Queue Exam Insert A,B,Q,E A B Q E Delete B Q E Insert C B Q E C Insert H B Q E C (Over flow) *** จะเห็นว่า มีที่ว่างแต่ไม่สามารถ insert ได้ fr f r f r f r

7 Circular Queue Assigment จงเขียนโปรแกรม การ Insert, Del, Search และ Display ของ Queue Circular Queue เพื่อ แก้ปัญหาการ Insert ไม่ได้ทั้งที มีที่ว่างใน Array Linear. Circular Queue เป็นลักษณะ ของ visual circular ซึ่งที่จริงก็คือ Array นั้นเอง R

8 Circular Queue Insert_Cqueue(Q[ ], Front, Rear, Item) { if (Rear == Max) Rear = 1; else Rear = Rear + 1 ; if (Front == Rear) { if (Rear == 1) Rear = Max; else Rear = Rear -1 ; Display(“Over flow”); } else Q[Rear] = Item; If (Front == 0) Front = 1; }

9 Circular Queue Delete_Cqueue(Q[ ], Front, Rear) { Item = Null; if (Front == 0) Display(“Empty Queue”); else { Item = Q[Front]; if (Front == Rear) Front = Rear = 0; else if (Front ==Max) Front = 1; else Front = Front + 1; } return Item; }

10 Circular Queue Display_Cqueue(Q[ ], Front, Rear) { if (Front == 0) Display(“Empty Queue”); else if (Front <= Rear) for(i = Front to Rear) Display(Q[i]); else { for(i = Front to Max) Display(Q[i]); for(i = 1 to Rear) Display(Q[i]); }

11 Circular Queue การบ้าน ให้นักนิสิต เขียน Algorithm 1. Search_Cqueue(Q[ ], Front, Rear, Item) 2. Test_Empty_Chenalqueu e(Q[ ], Front, Rear)


ดาวน์โหลด ppt บทที่ 2. Queue Queue : ยังคงเป็น Linear list เป็นลักษณะการเข้าก่อนออก ก่อนตามลำดับ (First Come First Served : FCFS หรือ First In First Out) Front คือ.

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


Ads by Google