数据结构中队列的基本操作

data structurec++server side programming

队列是不同数据类型的集合,是数据结构的重要组成部分,按照特定的顺序插入和删除元素。在本教程中,我们将了解队列的基本操作。

数据结构中的队列是什么?

队列是一种线性数据结构,类似于现实生活中的队列。在学校、收银台或任何其他地方,你们都曾加入过队列,先进入的人将先离开队列。同样,数据结构中的队列也遵循先进先出的原则,即先进先出。与剩余元素相比,队列中第一个插入的元素将首先终止。

队列有两个端点,两端都开放。

  • 前端 - 这是元素移出队列的一端。

  • 后端 - 这是元素插入队列的一端。

可以使用一维数组、指针、结构和链表来实现。 C++ 库包含各种内置函数来帮助管理队列,其操作仅在前端和后端进行。

声明队列的语法

queue<data type> 队列名称

示例

queue<int> q
queue<string> s

基本队列操作

C++ 中队列最有用的操作如下 -

  • pop() -它删除队列的前面元素。 语法 −queue_name.pop();

  • push() −(): 用于在队列的起始或尾端插入元素。 语法 −queue_name.push(data_value);

  • front() −(): 检查或返回队列前面的元素。 语法 −queue_name.front();

  • size() − 用于获取队列的大小。 语法 −queue_name.size();

  • empty() − 检查队列是否为空。根据条件返回布尔值。 语法 −queue_name.empty();

push() 函数的代码。

#include <iostream>
#include<queue>

using namespace std;

int main() {
    queue<int> q; //初始化队列
    q.push(4); //使用 push() 方法将元素插入队列
    q.push(5);
    q.push(1);
    cout<<"队列的元素为:";
    
    while(!q.empty()) {
        cout<<q.front()<<""; //打印队列的第一个元素
        q.pop(); // 从队列中删除元素
    }
    return 0;
}

输出

队列的元素为:451

在上面的例子中,我们创建了一个队列q,并使用push()函数向其中插入元素,该函数将所有元素插入到后端。

使用empty()函数检查队列是否为空,如果不为空,队列将返回最前面的元素,使用pop()函数将从最前端删除队列元素。

示例

#include <iostream>
#include<queue>

using namespace std;

int main() {
    queue<int>q;//初始化队列
    q.push(4);//使用 push() 方法将元素插入队列
    q.push(5);
    q.push(1);
    cout<<"队列的元素是:";
    
    while(!q.empty()) {
        cout<<q.front()<<"";//打印队列的第一个元素
        q.pop();//从队列中删除元素
    }
    return 0;
}

输出

队列大小为:451

队列的empty()函数示例。

#include <iostream>
#include<queue>

using namespace std;

int main() {
    queue<string> q; //声明字符串类型的队列
    q.push("cpp"); //使用push()方法将元素插入队列
    q.push("Java");
    q.push("C++");
    
    if(q.empty()) //使用empty()函数返回条件
    cout<<"是的,队列为空";
    else
    cout<<"否,队列有元素";
    
    return 0;
}

输出

队列无元素

结论

队列可以存储整数和字符串元素。在数据结构中,还有一个队列称为优先级队列,它与所有队列元素具有优先级。

希望本教程能帮助您理解数据结构中队列的含义。


相关文章