21xrx.com
2024-12-27 21:38:12 Friday
登录
文章检索 我的文章 写文章
C++中vector和pair的用法
2023-06-23 00:01:38 深夜i     --     --
C++ vector pair 用法 容器

C++是一个流行的编程语言,广泛应用于软件开发、游戏制作、科学计算等领域。在C++中,vector和pair是两个常用的数据结构,用于存储和处理大量的数据。

vector是一个动态数组,它可以根据需要自动扩展大小。在C++中,vector可以通过以下方式定义:


#include <vector>

std::vector<int> myVector;

在上面的代码中,我们定义了一个名为myVector的vector对象,该对象存储整数类型的数据。我们可以通过以下方式向vector中添加元素:


myVector.push_back(5);

myVector.push_back(10);

myVector.push_back(15);

在上面的代码中,我们使用push_back()函数向vector中添加三个整数元素。vector可以自动扩展大小,以容纳所有元素。

pair是一个有序的键值对数据结构,用于将两个值配对。在C++中,pair可以通过以下方式定义:


#include <utility>

std::pair<std::string, int> myPair;

在上面的代码中,我们定义了一个名为myPair的pair对象,该对象包含一个字符串和一个整数。我们可以通过以下方式设置pair对象的值:


myPair = std::make_pair("apple", 5);

在上面的代码中,我们使用make_pair()函数将字符串"apple"和整数5组合成一个pair对象赋值给myPair。

vector和pair可以组合使用,以存储多个键值对数据。例如,我们可以创建一个存储许多person对象信息的vector对象:


#include <vector>

#include <utility>

struct person

  std::string name;

  int age;

;

std::vector<std::pair<std::string, person>> peopleList;

在上面的代码中,我们定义了一个person结构体,包含一个字符串类型的name和一个整数类型的age。然后,我们定义了一个名为peopleList的vector对象,该对象存储字符串和person对象的键值对数据。

我们可以通过以下方式向peopleList中添加元素:


person p1 = "John Doe";

person p2 = 25;

peopleList.push_back(std::make_pair("employee1", p1));

peopleList.push_back(std::make_pair("employee2", p2));

在上面的代码中,我们使用make_pair()函数将person对象和字符串键值组合成键值对,并将它们添加到peopleList中。我们可以使用for循环遍历peopleList中的所有元素,并输出它们的值:


for (auto p : peopleList)

  std::cout << "Key: " << p.first << std::endl;

  std::cout << "Name: " << p.second.name << std::endl;

  std::cout << "Age: " << p.second.age << std::endl;

在上面的循环中,我们使用auto关键字自动推断存储在vector中的类型,并使用p.first和p.second.name、p.second.age访问每个键值对中存储的值。

总之,vector和pair是C++中常用的数据结构,可以用于存储和处理大量的数据,包括键值对数据。它们具有动态内存管理、自动扩展大小、键值匹配等特性,为开发者提供了便捷、高效的数据操作方法。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复