Professional Documents
Culture Documents
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
+ 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.