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

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

บรรยายครั้งที่ 3: Queue

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


งานนำเสนอเรื่อง: "บรรยายครั้งที่ 3: Queue"— ใบสำเนางานนำเสนอ:

1 Queue 204311การจัดการแฟ้มข้อมูลและโครงสร้างข้อมูล File Management and Data Structure

2 บรรยายครั้งที่ 3: Queue
วัตถุประสงค์ : นักศึกษาสามารถ อธิบายโครงสร้างข้อมูลแบบ Queue ได้ถูกต้อง เขียนโปรแกรมด้วยภาษา Visual Basic ในการดำเดินการต่าง ๆ ตามโครงสร้างข้อมูลแบบ Queue ได้แก่การ Enqueue และ Dequeue

3 หัวข้อการบรรยาย แนะนำ Queue โอเปอร์เรชั่นพื้นฐานที่ทำกับคิว
คิวรูปแบบอื่นๆ การประยุกต์ใช้คิว

4 แนะนำ Queue

5 แนะนำ Queue

6 แนะนำ Queue A B C

7 แนะนำ Queue A B C

8 แนะนำ Queue B C

9 แนะนำ Queue B C D

10 แนะนำ Queue B C D E

11 แนะนำ Queue B C D E

12 แนะนำ Queue E

13 ขบวนการพื้นฐานที่ทำกับคิว
Front Rear Insert (Enqueue) Delete (Dequeue)

14 ขบวนการพื้นฐานที่ทำกับคิว
ตัวอย่าง

15 ขบวนการพื้นฐานที่ทำกับคิว
ตัวอย่าง Enqueue x F R

16 ขบวนการพื้นฐานที่ทำกับคิว
ตัวอย่าง enqueue(Q, e) Q[R] = e Q x e F R

17 ขบวนการพื้นฐานที่ทำกับคิว
ตัวอย่าง enqueue(Q, e) Q[R] = e R = R+1 Q x e F R

18 ขบวนการพื้นฐานที่ทำกับคิว
ตัวอย่าง enqueue(Q, e) Q[R++] = e Q x e F R

19 ขบวนการพื้นฐานที่ทำกับคิว
ตัวอย่าง Dequeue Q x e F R

20 ขบวนการพื้นฐานที่ทำกับคิว
ตัวอย่าง e dequeue(Q) return Q[R] Q x e F R

21 ขบวนการพื้นฐานที่ทำกับคิว
ตัวอย่าง e dequeue(Q) return Q[R] R = R-1 Q x F R

22 ขบวนการพื้นฐานที่ทำกับคิว
ตัวอย่าง e dequeue(Q) return Q[R] R = R-1 Q x F R

23 ขบวนการพื้นฐานที่ทำกับคิว
ตัวอย่าง e dequeue(Q) R = R-1 return Q[R] Q x F R

24 ขบวนการพื้นฐานที่ทำกับคิว
ตัวอย่าง e dequeue(Q) return Q[R--] Q x F R

25 ขบวนการพื้นฐานที่ทำกับคิว
// Queue.cpp #include <stdio.h> #include <conio.h> int front = 1; int rear = 0; void PrintQueue(char *); int Insert(char *, char); char Delete(char *); int IsEmpty(char *); // 0 Not Empty, 1 Empty int IsFull(char *); // 0 Not Full, 1 Full

26 ขบวนการพื้นฐานที่ทำกับคิว
main() { char select=0; char queue[10] = {'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0'}; char element; clrscr(); do printf("\n\nMenu\n"); printf("======\n"); printf("1. Insert\n"); printf("2. Delete\n"); printf("3. Exit\n"); printf("Please select operation: "); select = getche(); switch(select) { case '1': printf("\nEnter a character to insert: "); element = getche(); Insert(queue, element); break; case '2': printf("\nDelete queue and get: %c", Delete(queue)); default : } PrintQueue(queue); } while(select != '3'); return(0);

27 ขบวนการพื้นฐานที่ทำกับคิว
printf("1. Insert\n"); printf("2. Delete\n"); printf("3. Exit\n"); printf("Please select operation: "); select = getche(); switch(select) { case '1': printf("\nEnter a character to insert: "); element = getche(); Insert(queue, element); break; case '2': printf("\nDelete queue and get: %c", Delete(queue)); default :

28 ขบวนการพื้นฐานที่ทำกับคิว
int Insert(char * queue, char element) { queue[rear] = element; rear += 1; // incrase rear by 1 return rear; }

29 ขบวนการพื้นฐานที่ทำกับคิว
char Delete(char * queue) { char frontelement; frontelement=queue[front]; queue[front]='\0'; front += 1; return(frontelement); }

30 ขบวนการพื้นฐานที่ทำกับคิว
void PrintQueue(char * queue) { int i = 0; printf("\n\n "); for(i=0;i<10;i++) printf("| %c ", queue[i]); } printf("|"); printf("\n "); printf("\n\n Front: %d, Rear : %d", front, rear);

31 คิวรูปแบบอื่นๆ Circular Queue Priority Queue Linked Queue

32 คิวรูปแบบอื่นๆ Circular Queue

33 คิวรูปแบบอื่นๆ Priority Queue

34 คิวรูปแบบอื่นๆ Linked Queue

35 การประยุกต์ใช้คิว เรียงลำดับงาน Prioritize

36 หัวข้อการบรรยาย แนะนำ Queue โอเปอร์เรชั่นพื้นฐานที่ทำกับคิว
คิวรูปแบบอื่นๆ การประยุกต์ใช้คิว


ดาวน์โหลด ppt บรรยายครั้งที่ 3: Queue

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


Ads by Google