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

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

Queue Lecturer : Kritawan Siriboon, Room no. 913

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


งานนำเสนอเรื่อง: "Queue Lecturer : Kritawan Siriboon, Room no. 913"— ใบสำเนางานนำเสนอ:

1 Queue Lecturer : Kritawan Siriboon, Room no. 913
Text : Data Structures & Algorithm Analysis in C, C++,… Mark Allen Weiss, Addison Wesley

2 Queues rear front tail head
คือแถวคอยของของ ของในแถวมีลำดับ การเอาของออก(dequeue) ทำทางหัวคิว (front, head) การเอาของเข้า (enqueue) ทำทางท้ายคิว (rear, tail) rear tail front head FirstInFirstOut FIFO list

3 Data Structure Linked List Implementation
rear front D C B A 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 1 E 4 = r C void increase(int &i) f = 2 D if (i == (MAX -1)) i = 0; else i++; 3

5 Data Structure/Operations
f r enqueue(‘F’) F dequeue() char data[MAX]; int f,r; C D E C D E F r f r f f r A f,r enqueue(i) i = dequeue() init() if (! full()) increase(r); data[r] = i; else ... if (! empty()) fi = data[f]; increase(f); return fi; else ... r = -1; f = 0; empty() full() ?

6 What condition makes queue empty() ?
D E f r E f,r r f A B f r B f,r r f What condition makes queue full() ? Both empty & full C D E f r A B x = r; increase(x) == f; deq() C D E f r B C D E F B r f enq(‘F’)

7 template<class T, int MAX = 5>
class queue{ T data[MAX]; int front, rear; int count; }; enq deq init full empty count++ count-- count = 0 count == MAX count == 0


ดาวน์โหลด ppt Queue Lecturer : Kritawan Siriboon, Room no. 913

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


Ads by Google