Cách cài đặt queue trong c++

0
385

Bài viết hôm nay mình sẽ hướng dẫn các bạn cách cài đặt queue có sử dụng template trong ngôn ngữ c++.

Nếu bạn chưa biết template là gì thì có thể xem tại đây.

Queue là gì: Queue hay còn gọi là hàng đợi, là một cấu trúc dữ liệu thường dùng trong các ngôn ngữ lập trình. Các bạn có thể tưởng tượng queue như là việc bạn phải xếp hàng để mua vé xem phim vậy. Người nào đến trước thì sẽ được mua vé trước, người nào đến sau thì phải chờ những người ở trước.

Các hoạt động cơ bản trên queue

Trong queue có các hoạt động cơ bản sau:

  • Hoạt động isFull(): Kiểm tra xem hàng đợi đã đầy hay chưa.
  • Hoạt động isEmpty(): Kiểm tra xem hàng đợi có trống hay không.
  • Hoạt động peek():  Lấy phần tử ở đầu hàng đợi, mà không xóa phần tử này.
  • Hoạt động  enqueue(): Thêm (hay lưu trữ) một phần tử vào trong hàng đợi.
  • Hoạt động dequeue(): Xóa một phần tử từ hàng đợi.

Cách cài đặt queue trong c++

Cách cài đặt queue ? Mình sẽ cài đặt queue dưới dạng một class.

Khai báo một lớp queue

Trong lớp queue sẽ có các thuộc tính như sau:

  • front: Chính là biến để lưu vị trí đầu tiên của hàng đợi. Mặc định khởi tạo front = 0.
  • rear: Chính là biến để lưu vị trí cuối cùng của hàng đợi. Mặc định khởi tạo rear = -1.
  • size: Chính là kích thước của hàng đợi. Nếu không khởi tạo hoặc khởi tạo sai thì mặc định có 10 phần tử.
  • data: Chính là con trỏ dùng để lưu trữ dữ liệu của hàng đợi.

Cài đặt construction cho hàng đợi

Cài đặt destruction cho hàng đợi

Trong destruction ta tiến hành xóa dữ liệu của con trỏ data.

Cài đặt hoạt động isEmpty()

Hoạt động isEmpty() sẽ trả về giá trị true nếu như hàng đợi trống và ngược lại.

Cài đặt hoạt động isFull()

Hoạt động isFull() sẽ trả về giá trị true nếu hàng đợi đã đầy và ngược lại.

Cài đặt hoạt động peek()

Hoạt động peek() sẽ trả về giá trị phần tử đầu tiên của hàng đợi bằng tham chiếu mà không xóa nó. Nếu hàng đợi rỗng thì hoạt động peek() sẽ trả về giá trị false.

Cài đặt hoạt động enqueue()

Hoạt động enqueue() sẽ trả về giá trị true nếu đã thêm thành công một phần tử vào hàng đợi và ngược lại.

Cài đặt hoạt động dequeue()

Tương tự như peek() nhưng sau khi lấy phần tử đầu tiên của hàng đợi thì sẽ xóa phần tử đó đi.

 

Chạy thử chương trình cài đặt queue

Bài viết mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi !

 

 

avatar
  Subscribe  
Notify of