亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

C++ 基礎(chǔ)教程

C++ 流程控制

C++ 函數(shù)

C++ 數(shù)組 & 字符串

C++ 數(shù)據(jù)結(jié)構(gòu)

C++ 類 & 對象

C++ 指針

C++ 繼承

C++ STL 教程

C++ 參考手冊

C++ Queue(隊(duì)列)

在計(jì)算機(jī)科學(xué)領(lǐng)域,我們致力于各種程序。他們每個(gè)人都有自己的域和實(shí)用程序。根據(jù)程序創(chuàng)建的目的和環(huán)境,我們有大量數(shù)據(jù)結(jié)構(gòu)可供選擇。其中之一就是“隊(duì)列”。在討論這種數(shù)據(jù)類型之前,讓我們看一下它的語法。

語法

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

此數(shù)據(jù)結(jié)構(gòu)適用于FIFO技術(shù),其中FIFO表示先進(jìn)先出。首先插入的元素將首先被提取,依此類推。有一個(gè)稱為“前”的元素,它是位于最前位置或位于第一個(gè)位置的元素,也有一個(gè)名為“后”的元素,它是位于最后位置的元素。在普通隊(duì)列中,元素的插入在尾部,而刪除則從前面開始。

應(yīng)用程序區(qū)域中的隊(duì)列隱含為容器適配器。

容器應(yīng)支持以下操作列表:

  • empty

  • size

  • push_back

  • pop_front

  • front

  • back

模板參數(shù)

T:參數(shù)指定容器適配器將保留的元素的類型。

Container:參數(shù)指定容器的內(nèi)部對象,其中保留隊(duì)列的元素。

成員類型

下面給出了隊(duì)列成員類型的列表,并對其進(jìn)行了簡短描述。

成員類型描述
value_type指定了元素類型。
container_type指定了底層容器類型。
size_type它指定元素的大小范圍。
reference它是容器的引用類型。
const_reference它是常量容器的引用類型。

函數(shù)

借助函數(shù),可以在編程領(lǐng)域中使用對象或變量。隊(duì)列提供了大量可以在程序中使用或嵌入的函數(shù)。相同的列表如下:

函數(shù)描述
(constructor)該函數(shù)用于構(gòu)造隊(duì)列容器。
empty該函數(shù)用于測試隊(duì)列是否為空。如果隊(duì)列為空,則該函數(shù)返回true,否則返回false。
size該函數(shù)返回隊(duì)列中元素的個(gè)數(shù)。
front該函數(shù)返回第一個(gè)元素。元素起著非常重要的作用,因?yàn)樗械膭h除操作都是在front元素上執(zhí)行的。
back該函數(shù)返回最后一個(gè)元素。該元素起著非常重要的作用,因?yàn)樗胁迦氩僮鞫荚诤竺嬖厣蠄?zhí)行。
push該函數(shù)用于在末尾插入一個(gè)新元素。
pop該函數(shù)用于刪除第一個(gè)元素。
emplace該函數(shù)用于在當(dāng)前后元素上方的隊(duì)列中插入新元素。
swap該函數(shù)用于交換參考中兩個(gè)容器的內(nèi)容。
relational operators非成員函數(shù)指定隊(duì)列所需的關(guān)系運(yùn)算符。
uses allocator<queue>顧名思義,非成員函數(shù)將分配器用于隊(duì)列。

示例:一個(gè)簡單的程序,顯示基本隊(duì)列函數(shù)的使用。

#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 << "隊(duì)列fquiz是 : ";
	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;
}

輸出:

隊(duì)列fquiz是 : 	10	20	30

fquiz.size() : 3
fquiz.front() : 10
fquiz.back() : 30
fquiz.pop() : 	20	30