vector<pair<int, int>> 是 C++ 标准库提供的一种数据结构,具体解释如下:

  1. vector

    • vector 是 C++ STL(标准模板库)中的一个动态数组容器。它可以根据需要自动调整大小,支持快速随机访问元素。
    • 它的基本用法是存储一系列相同类型的元素。
  2. pair<int, int>

    • pair 是 C++ STL 中的一个模板类,用于存储两个相关联的值。它可以存储不同类型的数据,但在这个例子中,两个值都是 int 类型。
    • pair<int, int> 表示一个包含两个整数的对象,通常用来表示一个边的两个端点(即图中的顶点)。

结合使用

当你看到 vector<pair<int, int>> 时,这意味着你有一个动态数组,其中每个元素都是一个 pair<int, int> 类型的对象。这通常用于表示边的列表,例如图的边集,其中每个 pair 表示一条边的两个端点。

示例

假设我们有一个无向图的边集:

vector<pair<int, int>> edges = {
    {1, 2},
    {2, 3},
    {3, 1},
    {1, 4},
    {2, 4},
    {3, 4},
};

在这个例子中:

  • {1, 2} 表示顶点 1 和顶点 2 之间有一条边。
  • {2, 3} 表示顶点 2 和顶点 3 之间有一条边。
  • 以此类推,整个 edges 向量表示了一组边,构成了一个图。

视频讲解