You are on page 1of 2

1.

Queue:
1/ Khái niệm:

- Queue là một cấu trúc dữ liệu dạng hàng đợi (FIFO - First-In-First-Out) mà
các phần tử được xử lý theo thứ tự chúng được thêm vào hàng đợi. Nghĩa
là, phần tử đầu tiên được thêm vào hàng đợi sẽ là phần tử đầu tiên được
lấy ra và xử lý, và phần tử cuối cùng được thêm vào hàng đợi sẽ là phần tử
cuối cùng được xử lý.

2/ thao tác

- Có hai thao tác cơ bản trong queue:


1. Enqueue: Thêm một phần tử vào cuối hàng đợi.
2. Dequeue: Lấy ra phần tử ở đầu hàng đợi và xóa nó.

2. Cách cài đặt queue trên mảng:


Phần để đọc
- Để cài đặt một queue trên mảng, bạn có thể sử dụng hai con trỏ để theo dõi vị trí đầu
và cuối của hàng đợi.

+ Khai báo một mảng có kích thước đủ lớn để chứa các phần tử của queue.
+ Khởi tạo hai con trỏ: một con trỏ trỏ đến phần tử đầu hàng đợi (thường được gọi là
"front") và một con trỏ trỏ đến phần tử cuối hàng đợi (thường được gọi là "rear"). Ban
đầu, cả hai con trỏ đều được đặt thành giá trị rỗng hoặc -1 để biểu thị rằng hàng đợi là
trống.
+ Để thêm một phần tử vào queue (enqueue), ta di chuyển con trỏ rear lên một vị trí và
gán giá trị mới vào vị trí đó trong mảng.
+ Để lấy ra phần tử đầu hàng đợi và xóa nó (dequeue), ta di chuyển con trỏ front lên
một vị trí.
+ Để kiểm tra xem queue có rỗng hay không, ta so sánh giá trị của cả hai con trỏ front
và rear. Nếu cả hai con trỏ đều có giá trị rỗng, tức là hàng đợi là trống.
+ Để kiểm tra xem queue có đầy hay không, ta so sánh giá trị của con trỏ rear với kích
thước tối đa của mảng. Nếu con trỏ rear trỏ đến phần tử cuối cùng của mảng, tức là
hàng đợi đã đầy.

Phần rút gọn:


- Để cài đặt một queue trên mảng, bạn có thể sử dụng hai con trỏ để theo dõi vị trí đầu
và cuối của hàng đợi:
+ Khai báo một mảng có kích thước đủ lớn để chứa các phần tử của queue.
+ Khởi tạo hai biến front và rear với giá trị ban đầu là -1 để biểu thị rằng hàng đợi là
trống.
+ Để thêm một phần tử vào queue (enqueue), tăng giá trị của rear lên 1 và gán giá trị
mới vào vị trí đó trong mảng.
+ Để lấy ra phần tử đầu hàng đợi và xóa nó (dequeue), tăng giá trị của front lên 1.
+ Để kiểm tra xem queue có rỗng hay không, so sánh giá trị của cả hai biến front và
rear. Nếu cả hai biến đều có giá trị -1, tức là hàng đợi là trống.
+ Để kiểm tra xem queue có đầy hay không, so sánh giá trị của biến rear với kích thước
tối đa của mảng. Nếu rear trỏ đến phần tử cuối cùng của mảng, tức là hàng đợi đã đầy.

You might also like