C ++中的队列示例| C ++标准模板库


C ++中的队列示例| C ++标准模板库是今天的主题。队列是遵循FIFO算法的抽象数据结构,即首先访问放在队列中的数据项。队列在两端都是开放的,而不像仅在一端打开的堆栈。

C ++示例中的队列

内容概述

  • 1个C ++队列
    • 1.1 #empty()
    • 1.2 #size()
    • 1.3 #swap()
    • 1.4 #emplace()
    • 1.5 #front()
    • 1.6 #back()
    • 1.7 #push()
    • 1.8 #pop()
  • 2#STL中队列的示例

C ++中的队列

队列是容器适配器的类型,专门设计用于在FIFO上下文(先进先出)中操作,其中项目被插入容器的一端并从另一端容器中提取。

队列实现为容器适配器,它是使用特定容器类的封装对象作为其底层容器的类,提供访问其项的特定成员函数集。项目被推入特定容器的“后面”并从其“前面”弹出。

我们可以使用以下语法在C ++中创建队列。

queuequeue_name

例如队列队列1;

添加头文件#include也很重要

队列中的元素插入后端,并从前端删除。

在STL中,队列支持许多功能,其中一些列在下面。

队列支持的功能如下。

#empty()

空函数用于检查队列是否为空。

句法:

queue_name.empty()

如果队列为空,则empty()函数返回true;如果列表不为空,则返回false。

注意:空函数中没有传递参数。如果我们传递任何参数,它将显示错误。

#尺寸()

size()函数用于查找队列的大小。

句法:

queue_name.size()

size()函数返回队列中存在的许多元素。

注意:size函数中没有传递参数。如果我们传递任何参数,它将显示错误。

#交易所()

swap()函数用于交易所相同类型的两个不同队列的元素。

句法:

queue_name1.swap(queue_name2)

操作没有返回值将queue_name1的元素交易所到queue_name2。

注意:队列的相同类型长度的队列必须是可变的。

#emplace()

Emplace函数用于在队列中插入新元素。

句法:

queue_name.emplace(value)

Value参数保存我们要添加到队列的元素的值。

该元素添加在队列的后端。

注意:让队列中已存在相同类型元素的value参数非常重要。

#面前()

front函数用于访问队列中存在的最旧元素或前端元素。由于队列首先出现,因此它访问第一个元素。

句法:

queue_name.front()

前面的功能没有参数。

注意:如果队列为空,则front函数显示未定义的行为。

#背部()

back函数用于从队列中最新插入的后端获取第一个元素。

句法

queue_name.back()

后退功能中没有参数。

注意:如果队列为空,则front函数显示未定义的行为。

#推()

push()函数用于从后端插入队列中的项目。

句法:

queue_name.push(value)

push函数中的参数是我们要在队列中推送的值。

注意:具有与现有元素相同类型的值非常重要。

#pop()

pop函数用于从队列中删除元素。

句法:

queue.name.pop()

它删除队列前端元素队列中存在的最旧元素。

注意:如果参数在pop函数中传递,它将显示错误。

#STL中队列的示例

编写一个程序,使用emplace函数在队列中插入三个元素,并检查队列是否为空。打印字符串以显示队列是否为空。

#include  #include  using namespace std; int main() {   queue queue1;   queue1.emplace(1);   queue1.emplace(2);   queue1.emplace(3);    if (queue1.empty())   {     cout << "The queue is empty";   }   else   {     cout << "The queue is not empty";   }   return 0; }

请参阅以下输出。

C ++中的队列

示例2:编写程序以使用push函数在队列中添加五个元素,并使用pop函数删除一个元素,然后打印队列。

#include  #include  using namespace std;  int main() {   queue queue2;   queue2.push(0);   queue2.push(1);   queue2.push(2);   queue2.push(3);   queue2.push(4);   // queue has element 0,1,2,3,4    queue2.pop();    // after poping one element queue becomes 0,1,2,3    // Printing queue elements   cout << "Elements of the queue are:";   while (!queue2.empty())   {     cout << ' ' << queue2.front();     queue2.pop();   } }

请参阅以下输出。

STL中的队列示例

示例3:编写程序以打印队列的大小,队列的前端元素和队列的后端元素。

#include   #include   using namespace std;     int main()  {      queue queue3;      queue3.push(0);      queue3.push(1);      queue3.push(2); 	queue3.push(3); 	queue3.push(4); 	 	cout<<"Size of the queue is: "<

请参阅以下输出。

C ++标准模板库

示例4:创建两个队列,向两个队列添加元素并交易所队列并打印交易所的队列。

#include  #include  using namespace std;  int main() {   queue queue2;   queue queue1;   queue1.push(0);   queue1.push(1);   queue1.push(2);   queue1.push(3);   queue1.push(4);    queue2.push(5);   queue2.push(6);   queue2.push(7);   queue2.push(8);   queue2.push(9);    queue1.swap(queue2); //Swapping    cout << "Elements of queue1 after swapping are:";   while (!queue1.empty())   {     cout << queue1.front() << " ";     queue1.pop();   }    // Print the second set   cout << endl        << "Elements of queue2 after swapping are:";   while (!queue2.empty())   {     cout << queue2.front() << " ";     queue2.pop();   }    return 0; }

查看输出。

C ++中的标准模板库

最后,C ++中的队列示例| C ++标准模板库结束了。

资讯来源:由0x资讯编译自APPDIVIDEND,版权归作者Ankit Lathiya所有,未经许可,不得转载
你可能还喜欢