2024年4月2日发(作者:)

在C++中,

pair

是一种模板类,用于存储两个可能不同类型的数据项,第一个称为

first

,第二个称

second

。同时,队列(

queue

)是一种先进先出(FIFO)的数据结构。

如果你想在队列中存储

pair

对象,你可以简单地创建一个

queue

,其元素类型为

pair

。以下是一个简

单的示例,说明如何使用

pair

queue

cpp

#include

#include

#include // 包含pair的定义

int main() {

// 创建一个队列,队列的元素是pair

std::queue> myQueue;

// 向队列中添加元素

(std::make_pair(1, "one"));

(std::make_pair(2, "two"));

(std::make_pair(3, "three"));

// 检查队列是否为空

if (!()) {

// 获取队列的顶部元素(但不删除)

std::pair topElement = ();

std::cout << "Top element: " << << ", " << <<

std::endl;

// 删除队列的顶部元素

();

}

// 遍历队列中的所有元素

while (!()) {

std::pair currentElement = ();

std::cout << "Element: " << << ", " <<

<< std::endl;

();

}

return 0;

}

在上面的示例中,我们创建了一个队列,其元素是

pair

。我们使用

push

方法向队列中添

加元素,使用

front

方法获取队列的顶部元素(但不删除),使用

pop

方法删除队列的顶部元素。我们还使

用了一个循环来遍历队列中的所有元素。

1

注意,你也可以使用

emplace

方法直接在队列中构造元素,这通常比先构造元素再

push

到队列中更高

效。例如:

cpp

e(4, "four");

这行代码会在队列中直接构造一个

pair(4, "four")

元素,而无需先创建一个临时的

pair

对象。

2