队列是先进先出数据结构。该队列在不同区域中用于图遍历算法“广度优先搜索”等。该队列具有一些原始操作。在这里,我们将看到队列的那些操作,并看到一个使用队列ADT的示例。
ADT(抽象数据类型)是一种特殊的数据类型,其行为由一组值和一组操作定义。使用关键字“摘要”是因为我们可以使用这些数据类型,因此可以执行不同的操作。但是这些操作的工作方式对用户完全是隐藏的。ADT由原始数据类型组成,但是操作逻辑是隐藏的。
这些是队列ADT的少数操作或功能。
isFull(),用于检查队列是否已满
isEmpry(),用于检查队列是否为空
enqueue(x),用于在队列末尾推送x
delete(),用于从前端删除一个元素
front(),用于获取队列的最前面的元素
size(),此函数用于获取队列中存在的元素数
#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;
}
//将元素插入队列
que.push(10);
que.push(20);
que.push(30);
que.push(40);
que.push(50);
cout << "Size of the queue: " << que.size() << endl;
//删除和支付元素
while(!que.empty()) {
int item = que.front(); // read element from first position
que.pop();
cout << item << " ";
}
}输出结果
Queue is empty Size of the queue: 5 10 20 30 40 50