数据结构中的队列操作

队列是先进先出数据结构。该队列在不同区域中用于图遍历算法“广度优先搜索”等。该队列具有一些原始操作。在这里,我们将看到队列的那些操作,并看到一个使用队列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