Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Chương 3 sẽ cung cấp cho các bạn các kiến thức về queue, cách mô tả queue: Một queue là một cấu trúc dữ liệu mà việc thêm vào được thực hiện ở một đầu (rear) và việc lấy ra được thực hiện ở đầu còn lại.Phần tử vào trước sẽ ra trước – FIFO. | CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT (501040) Chương 3: Queue Mô tả queue Một queue là một cấu trúc dữ liệu mà việc thêm vào được thực hiện ở một đầu (rear) và việc lấy ra được thực hiện ở đầu còn lại (front) Phần tử vào trước sẽ ra trước – FIFO (First In First Out) Queue trừu tượng Một queue kiểu T: Một dãy hữu hạn kiểu T Một số tác vụ: 1. Khởi tạo queue rỗng (create) 2. Kiểm tra rỗng (empty) 3. Thêm một giá trị vào cuối của queue (append) 4. Bỏ giá trị đang có ở đầu của queue (serve) 5. Lấy giá trị ở đầu của queue, queue không đổi (retrieve) Thiết kế queue enum Error_code {fail, success, overflow, underflow}; template class Queue { public: Queue(); //constructor bool empty() const; //kiểm tra rỗng Error_code append(const Entry &item); //đẩy item vào Error_code serve(); //bỏ 1 phần tử ở đầu Error_code retrieve(Entry &item); //lấy giá trị ở đầu //khai báo một số phương thức cần thiết khác private: //khai báo dữ liệu và hàm phụ trợ chỗ này }; Thiết kế các phương thức template bool Queue::empty() const; Pre: Không có Post: Trả về giá trị true nếu queue hiện tại là rỗng, ngược lại thì trả về false template Error_code Queue::append(const Entry &item); Pre: Không có Post: Nếu queue hiện tại không đầy, item sẽ được thêm vào cuối của queue. Ngược lại trả về giá trị overflow của kiểu Error_code và queue không đổi. template Error_code Queue::serve() const; Pre: Không có Post: Nếu queue hiện tại không rỗng, đầu của queue hiện tại sẽ bị hủy bỏ. Ngược lại trả về giá trị underflow của kiểu Error_code và queue không đổi. template Error_code Queue::retrieve(Entry &item) const; Pre: Không có Post: Nếu queue hiện tại không rỗng, đầu của queue hiện tại sẽ được chép vào tham biến item. Ngược lại trả về giá trị underflow của kiểu Error_code. Mở rộng queue Có thêm các tác vụ: Kiểm tra đầy (full) Tính kích thước (size) Giải phóng queue (clear) Lấy giá trị ở đầu và bỏ ra khỏi queue . | CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT (501040) Chương 3: Queue Mô tả queue Một queue là một cấu trúc dữ liệu mà việc thêm vào được thực hiện ở một đầu (rear) và việc lấy ra được thực hiện ở đầu còn lại (front) Phần tử vào trước sẽ ra trước – FIFO (First In First Out) Queue trừu tượng Một queue kiểu T: Một dãy hữu hạn kiểu T Một số tác vụ: 1. Khởi tạo queue rỗng (create) 2. Kiểm tra rỗng (empty) 3. Thêm một giá trị vào cuối của queue (append) 4. Bỏ giá trị đang có ở đầu của queue (serve) 5. Lấy giá trị ở đầu của queue, queue không đổi (retrieve) Thiết kế queue enum Error_code {fail, success, overflow, underflow}; template class Queue { public: Queue(); //constructor bool empty() const; //kiểm tra rỗng Error_code append(const Entry &item); //đẩy item vào Error_code serve(); //bỏ 1 phần tử ở đầu Error_code retrieve(Entry &item); //lấy giá trị ở đầu //khai báo một số phương thức cần thiết khác private: //khai báo dữ liệu và hàm phụ trợ chỗ này }; Thiết kế các phương thức template .