个性化阅读
专注于IT技术分析

C++队列queue用法

点击下载

本文概述

在计算机科学领域, 我们致力于各种程序。他们每个人都有自己的域和实用程序。根据程序创建的目的和环境, 我们有大量数据结构可供选择。其中之一就是“队列”。在讨论这种数据类型之前, 让我们看一下它的语法。

句法

template<class T, class Container = deque<T> > class queue;

此数据结构适用于FIFO技术, 其中FIFO代表先进先出。首先插入的元素将首先被提取, 依此类推。有一个称为“前”的元素, 它是位于最前位置或位于第一个位置的元素, 也有一个称为“后”的元素, 它是位于最后位置的元素。在普通队列中, 元素的插入在后端, 而删除则从前端开始。

应用程序区域中的队列隐含为容器适配器。

容器应支持以下操作列表:

  • 空的
  • 尺寸
  • 推回
  • pop_front
  • 面前
  • 背部

模板参数

T:该参数指定容器适配器将保留的元素的类型。

容器:参数指定容器的内部对象, 队列元素保留在该对象中。

成员类型

下面给出了队列成员类型的列表, 并对其进行了简短描述。

成员类型 描述
value_type 指定了元素类型。
container_type 指定了基础容器类型。
size_type 它指定元素的大小范围。
reference 它是容器的引用类型。
const_reference 它是常量容器的引用类型。

功能

借助功能, 可以在编程领域中使用对象或变量。队列提供了大量可以在程序中使用或嵌入的功能。相同的列表如下:

功能 描述
(constructor) 该函数用于构造队列容器。
empty 该函数用于测试队列是否为空。如果队列为空, 则该函数返回true, 否则返回false。
size 该函数返回队列容器的大小, 该大小是对队列中存储的元素数量的度量。
front 该函数用于访问队列的前部元素。该元素起着非常重要的作用, 因为所有删除操作都是在最前面的元素上执行的。
back 该函数用于访问队列的后部元素。该元件起着非常重要的作用, 因为所有插入操作都在后部元件上执行。
push 该函数用于在队列的后端插入新元素。
pop 该功能用于删除元素;队列中的元素将从前端删除。
emplace 该函数用于在当前后元素上方的队列中插入新元素。
swap 该功能用于交换两个引用容器的内容。
relational operators 非成员函数指定队列所需的关系运算符。
uses allocator<queue> 顾名思义, 非成员函数将分配器用于队列。

示例:一个简单的程序, 显示基本队列功能的使用。

#include <iostream>
#include <queue>
using namespace std;
void showsg(queue <int> sg)
{
	queue <int> ss = sg;
	while (!ss.empty())
	{
		cout << '\t' << ss.front();
		ss.pop();
	}
	cout << '\n';
}

int main()
{
	queue <int> fquiz;
	fquiz.push(10);
	fquiz.push(20);
	fquiz.push(30);

	cout << "The queue fquiz is : ";
	showsg(fquiz);

	cout << "\nfquiz.size() : " << fquiz.size();
	cout << "\nfquiz.front() : " << fquiz.front();
	cout << "\nfquiz.back() : " << fquiz.back();

	cout << "\nfquiz.pop() : ";
	fquiz.pop();
	showsg(fquiz);

	return 0;
}

输出:

The queue fquiz is : 	10	20	30

fquiz.size() : 3
fquiz.front() : 10
fquiz.back() : 30
fquiz.pop() : 	20	30
赞(0)
未经允许不得转载:srcmini » C++队列queue用法

评论 抢沙发

评论前必须登录!