gpt4 book ai didi

c++ - 我可以在每行中有一个包含不同列数的数组吗?

转载 作者:太空狗 更新时间:2023-10-29 23:38:45 25 4
gpt4 key购买 nike

我想使用数组来存储图形的邻接表。其中每个节点都有不同数量的节点连接到它。所以我只想拥有以下类型的数组:

Row 0: 1 5 3
Row 1: 0 2 3
Row 2: 1
Row 3: 0 1 5 4
Row 4: 3 5
Row 5: 0 1 3 4

最佳答案

您可以使用 int vector 的 vector ,其中每一行中您可以存储不同数量的元素(节点)。

以下是示例代码。

#include <iostream>
#include <vector>

int main()
{
using Row = std::vector<int>;
std::vector<Row> rowVec;
rowVec.reserve(6); // reserve memory if you know the size beforehand.
// emplace each row of elements to the vector of vectors
rowVec.emplace_back(Row{ 1, 5, 3 });
rowVec.emplace_back(Row{ 0, 2, 3 });
rowVec.emplace_back(Row{ 1 });
rowVec.emplace_back(Row{ 0, 1, 5, 4 });
rowVec.emplace_back(Row{ 3 ,5 });
rowVec.emplace_back(Row{ 0, 1, 3, 4 });

// to iterate throw the vector of vectors
for (const Row& row : rowVec)
{
for (const int element : row)
std::cout << element << " ";
std::cout << '\n';
}
return 0;
}

输出:

1 5 3 
0 2 3
1
0 1 5 4
3 5
0 1 3 4

关于c++ - 我可以在每行中有一个包含不同列数的数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56009388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com