ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
ได้พิมพ์โดยมานิจ วอชิงตัน ได้เปลี่ยน 8 ปีที่แล้ว
1
QueueQueue Lecturer : Kritawan Siriboon, Room no. 913 Text : Data Structures & Algorithm Analysis in C, C++,… Mark Allen Weiss, Addison Wesley
2
Queues คือแถวคอยของของ ของในแถวมีลำดับ การเอาของออก (dequeue) ทำทางหัวคิว (front, head) การเอาของเข้า (enqueue) ทำทางท้ายคิว (rear, tail) fronthead reartail FirstInFirstOut FIFO list
3
Data Structure Linked List Implementation rearfront DCBA A is the first who enqueue,followed by B, C and D.
4
Data Structure Array Implementation straight array circular array C D E f r 0 1 2 3 4 C D E 1 0 f = 2 3 4 = r if (i == (MAX -1)) i = 0; else i++; void increase(int &i) MAX = size of array MAX = 5
5
0 1 2 3 4 Data Structure/Operations C D E f r 0 1 2 3 4 const int MAX = 5; char data[MAX]; int f,r; if (! full()) increase(r); data[r] = i; else... if (! empty()) fi = data[f]; increase(f); return fi; else... enqueue(i) i = dequeue() init() C D E r enqueue(‘F’) dequeue() F C D E frf empty() full() ? r = -1; f = 0; A f,r 0 1 2 3 4 r f F
6
What condition makes queue empty() ? 0 1 2 3 4 D E f r 0 1 2 3 4 E f,r 0 1 2 3 4 rf A B f r 0 1 2 3 4 B f,r 0 1 2 3 4 rf C D E f r 0 1 2 3 4 AB C D E F B r f C D E f r 0 1 2 3 4 B deq() enq(‘F’) x = r; increase(x) == f; Both empty & full What condition makes queue full() ?
7
template class queue{ T data[MAX]; int front, rear; int count; }; enq deq init full empty count++ count-- count = 0 count == MAX count == 0
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.