ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
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 โอเปอร์เรชั่นพื้นฐานที่ทำกับคิว
คิวรูปแบบอื่นๆ การประยุกต์ใช้คิว
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.