Chào các bạn!
Trong tin học thì thuật ngữ Queue có nghĩa là Hàng Đợi. Hôm nay tới sẽ giới thiệu khái quát về cái gọi là Queue.
Queue là danh sách cấu trúc tuyến tính ngược với Stack, tuân theo cơ chế FIFO (First In - First Out).
Các thao tác trên Queue, dựa trên bài người sản xuất - người tiêu dùng. Người sản xuất ra hàng hóa và chất vào kho theo thứ tự, người tiêu dùng lấy hàng hóa ra theo thứ tự của Queue, cái gì chất vào trước thì tiêu thụ trước (nếu không nó sẽ bị hỏng).
1. Định nghĩa Queue:
typedef struct {
int mahang;
char ten[20];
} hang;
typedef struct {
int front, rear;
hang node[MAX];
} queue;
2. Khởi tạo Queue:
void Initialize (queue *pq) {
pq->front = pq->rear = MAX -1;
}
3. Kiểm tra tính rỗng:
int Empty(queue *pq) {
if (pq->front == pq->rear)
return (TRUE);
return (FALSE);
}
4. Thêm phần tử:
void Insert(queue *pq, hang x) {
if (pq->rear == MAX-1)
pq->rear = 0;
else
(pq->rear)++;
if (pq->rear == pq->front) {
printf("\n Queue full");
delay(2000);
return;
}
else
pq->node[pq->rear] = x;
}
Vì phần lý thuyết này cũng không khó lắm nên mình chỉ giới thiệu cách thức hoạt động của nó như thế nào. Còn các bọn tự tìm hiểu thêm nhé. Chúc các bạn học tập tốt. Thanks for reading!
======================================================================================================
Cuộc đời là một dòng sông. Ai không bơi thì chết.
Name: Tien (Tory) TRAN
Email: TranTien29@gmail.com