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

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

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

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


งานนำเสนอเรื่อง: "QueueQueue Lecturer : Kritawan Siriboon, Room no. 913 Text : Data Structures & Algorithm Analysis in C, C++,… Mark Allen Weiss, Addison Wesley."— ใบสำเนางานนำเสนอ:

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


ดาวน์โหลด ppt QueueQueue Lecturer : Kritawan Siriboon, Room no. 913 Text : Data Structures & Algorithm Analysis in C, C++,… Mark Allen Weiss, Addison Wesley.

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


Ads by Google