ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
บทที่ 2 Queue Queue
2
Queue Queue : ยังคงเป็น Linear list เป็นลักษณะการเข้าก่อนออกก่อนตามลำดับ (First Come First Served : FCFS หรือ First In First Out) Front คือ index หรือตำแหน่งของข้อมูลที่เข้าก่อน Rear คือ index หรือตำแหน่งของข้อมูลที่เข้าทีหลัง Front = Rear = 0 แสดงว่าเป็น Queue ว่าง Delete Insert Front Rear
3
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,rear,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
f r 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 ได้ r f r f r f
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; 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) }
11
Circular Queue การบ้าน ให้นักนิสิต เขียน Algorithm 1. Search_Cqueue(Q[ ], Front, Rear, Item) 2. Test_Empty_Chenalqueue(Q[ ], Front, Rear)
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.