Queue là cấu trúc dữ liệu First In First Out. Hàng đợi được sử dụng trong các khu vực khác nhau cho các thuật toán duyệt đồ thị Breadth First Search, v.v. Hàng đợi có một số hoạt động nguyên thủy. Ở đây chúng ta sẽ thấy các hoạt động đó của hàng đợi và xem một ví dụ sử dụng ADT hàng đợi.
ADT (kiểu dữ liệu trừu tượng) là loại kiểu dữ liệu đặc biệt, có hành vi được xác định bởi một tập hợp các giá trị và tập hợp các hoạt động. Từ khóa “Abstract” được sử dụng vì chúng ta có thể sử dụng các kiểu dữ liệu này, chúng ta có thể thực hiện các thao tác khác nhau. Nhưng những hoạt động đó hoạt động như thế nào thì hoàn toàn bị ẩn với người dùng. ADT được tạo bằng các kiểu dữ liệu nguyên thủy, nhưng lôgic hoạt động bị ẩn.
Đây là một vài thao tác hoặc chức năng của ADT hàng đợi.
- isFull (), được sử dụng để kiểm tra xem hàng đợi đã đầy hay chưa
- isEmpry (), Điều này được sử dụng để kiểm tra xem hàng đợi có trống hay không
- enqueue (x), được sử dụng để đẩy x vào cuối hàng đợi
- delete (), được sử dụng để xóa một phần tử khỏi giao diện người dùng của
- front (), điều này được sử dụng để lấy phần tử phía trước nhất của hàng đợi
- size (), hàm này được sử dụng để nhận số phần tử có trong hàng đợi
Ví dụ
#include<iostream> #include<queue> using namespace std; main(){ queue<int> que; if(que.empty()){ cout << "Queue is empty" << endl; } else { cout << "Queue is not empty" << endl; } //insert elements into queue que.push(10); que.push(20); que.push(30); que.push(40); que.push(50); cout << "Size of the queue: " << que.size() << endl; //delete and dispay elements while(!que.empty()) { int item = que.front(); // read element from first position que.pop(); cout << item << " "; } }
Đầu ra
Queue is empty Size of the queue: 5 10 20 30 40 50