📜  元组向量 c++ (1)

📅  最后修改于: 2023-12-03 14:50:02.787000             🧑  作者: Mango

元组向量 C++

在 C++ 中,元组和向量是常见的数据结构,它们允许程序员轻松地管理和处理大量数据。而元组向量是将二者结合在一起的数据结构。

元组

元组是一种不同于数组或向量的数据结构,因为它可以容纳不同类型的元素。在 C++ 11 之后,我们可以使用 头文件中的 std::tuple 实现元组。

下面是一个元组的例子:

#include <iostream>
#include <tuple>  // 引入元组头文件

int main() {
  // 创建元组
  std::tuple<std::string, int, double> person{"Tom", 24, 1.75};

  // 访问元素
  std::cout << std::get<0>(person) << std::endl;  // 输出 "Tom"
  std::cout << std::get<1>(person) << std::endl;  // 输出 "24"
  std::cout << std::get<2>(person) << std::endl;  // 输出 "1.75"

  return 0;
}

我们需要使用元组的类型进行声明,然后可以直接使用花括号初始化。访问元素时需要使用 std::get,并提供元素的索引。

向量

向量是一种可变大小的数组,程序员可以根据需要在运行时动态增加或删除其元素。在 C++ 中,我们可以使用 头文件中的 std::vector 实现向量。

下面是一个向量的例子:

#include <iostream>
#include <vector>  // 引入向量头文件

int main() {
  // 创建向量
  std::vector<int> numbers{1, 2, 3};

  // 添加元素
  numbers.push_back(4);

  // 遍历向量
  for (auto num : numbers) {
    std::cout << num << " ";
  }
  // 输出 "1 2 3 4"

  return 0;
}

向量需要指定其元素类型,并可以在声明时提供初始元素。使用 push_back 可以向向量中添加元素。向量可以使用范围循环进行遍历。

元组向量

元组向量是将元组和向量结合在一起的数据结构。这样,程序员可以使用元组来表示每个向量元素的多个属性。

下面是一个元组向量的例子:

#include <iostream>
#include <vector>
#include <tuple>  // 引入元组头文件

int main() {
  // 创建元组向量
  std::vector<std::tuple<std::string, int>> people{
      {"Tom", 24},
      {"Jerry", 28},
      {"Kate", 35}};

  // 遍历元组向量
  for (auto person : people) {
    std::cout << std::get<0>(person) << " is " << std::get<1>(person) << " years old." << std::endl;
  }
  /*
  输出:
  Tom is 24 years old.
  Jerry is 28 years old.
  Kate is 35 years old.
  */

  return 0;
}

这里我们定义了一个元组向量,其中每个元素是一个包含两个元素的元组。然后,我们可以使用范围循环遍历所有人并输出他们的名字和年龄。