Bài giảng "Cấu trúc dữ liệu và giải thuật trong C++ - Bài 9: Cấu trúc dữ liệu hàng đợi" cung cấp cho người học các kiến thức: Danh sách kiểu hàng đợi (Queue), cấu trúc dữ liệu trừu tượng queue, cài đặt queue bằng mảng, Mời các bạn cung cấp cho người học các kiến thức. | Bài 9. Cấu trúc dữ liệu hàng đợi Danh sách kiểu Hàng đợi Queue Queue là cách tổ chức lưu trữ các đối tượng dưới dạng một danh sách tuyến tính mà việc bổ sung đối tượng được thực hiện ở đầu danh sách và việc lấy đối tượng ra được thực hiện ở cuối của danh sách. Queue còn được gọi là danh sách kiểu FIFO First In First Out - vào trước ra trước Cấu trúc dữ liệu trừu tượng Queue The Queue ADT Queue ADT lưu trữ các đối Các phép toán bổ trợ tượng bất kỳ front trả lại phần tử đầu của Thêm vào và xóa đi lấy ra queue nhưng không xóa nó đi theo kiểu FIFO size trả lại số phần tử hiện Thêm vào thực hiện ở cuối đang được lưu trữ trong queue của queue và lấy ra thực hiện ở đầu queue isEmpty trả lại giá trị kiểu boolen để xác định có phần Các phép toán chính thực tử được lưu trữ trong queue hiện trên queue không enqueue Object o bổ sung Ngoại lệ thực hiện dequeue một phần tử o vào cuối của hoặc enqueue trong khi queue. queue rỗng hoặc đầy dequeue Object amp o Xóa đi phần tử đầu của queue ta cần phải chuyển đến ngoại lệ Một số ứng dụng của queue Các ứng dụng trực tiếp - Danh sách hàng đợi - Truy nhập các nguồn dùng chung ví dụ máy in trong mạng cục bộ - Đa lập trình Các ứng dụng không trực tiếp - Cấu trúc dữ liệu hỗ trợ cho các thuật toán - Làm thành phần của các cấu trúc dữ liệu khác Cài đặt queue bằng mảng Sử dụng một mảng kiểu vòng có kích thước N Sử dụng 2 biến lưu trữ chỉ số của phần tử trước và phần tử sau f lưu chỉ số phần tử trước r lưu trữ chỉ số phần tử chuẩn bị được đưa vào Vị trí r của mảng là rỗng Cấu hình bình thường Cấu hình vòng lại Các phép toán trên queue Chúng ta sử dụng phép toán modulo để xác định số phần tử còn lại của queue Các phép toán trên queue tiếp Phép toán ensqueue dẫn đến ngoại lệ khi mảng đầy Algorthim enqueue Object o if size N-1 then return 0 else Q r o r r 1 mod N return 1 Các phép toán trên queue tiếp Phép toán dequeue dẫn đến ngoại lệ khi mảng rỗng Algorthim dequeue Object amp o if isEmpty then return 0 else o Q f f f 1 mod N return 1 Phát .