如何创建向量的向量
How to create a vector of vectors?
到目前为止,我有这段代码: #include "std_lib_facilities_4.h"
void numbers()
{
vector<int> first;
vector<int> second;
vector<int> third;
vector<int> fourth;
vector< <vector<data> > all;
for (int i = 0; i <= 9; ++i)
{
first.push_back(i);
second.push_back(i);
third.push_back(i);
fourth.push_back(i);
}
all.push_back(first);
all.push_back(second);
all.push_back(third);
all.push_back(fourth);
cout << all[0] << 'n';
cout << all[1] << 'n';
cout << all[2] << 'n';
cout << all[3] << 'n';
}
int main()
{
numbers();
}
如何创建由向量"第一"、"第二"、"第三"和"第四"组成的向量"全部"?
你实际上有一个向量向量,你的all
向量有什么问题?您的代码还有其他问题:
我假设您的数据是这样的:
typedef int data;
你这里有一个小错别字:
vector< <vector<data> > all;
^---- remove it!
这是错误的:
cout << all[0] << 'n';
cout << all[1] << 'n';
cout << all[2] << 'n';
cout << all[3] << 'n';
您应该像这样迭代每个子向量以输出所有元素:
for (auto t : all[0])
cout << t << ',';
简单。只需执行以下操作:
vector <vector <int> > group
或者出于可读性目的,您可以按如下方式typedef vector <vector <int> > BigVector
然后初始化:
BigVector group
可以使用 push_back()
成员函数,但提供vector <int>
作为参数。
不清楚你想要什么。是要定义向量的向量,还是将所有四个向量的所有元素放在一个向量中。
如果你想做第一个任务,那么可以通过以下方式完成
void numbers()
{
vector<int> first;
vector<int> second;
vector<int> third;
vector<int> fourth;
for ( int i = 0; i <= 9; ++i )
{
first.push_back(i);
second.push_back(i);
third.push_back(i);
fourth.push_back(i);
}
std::vector<std::vector<int>> all( { first, second, third, fourth } );
for ( const std::vector<int> &v : all )
{
for ( int x : v ) std::cout << x << ' ';
std::cout << std::endl;
}
}
如果要从其他四个向量的所有元素创建一个向量,则该函数可以如下所示
void numbers()
{
vector<int> first;
vector<int> second;
vector<int> third;
vector<int> fourth;
for ( int i = 0; i <= 9; ++i )
{
first.push_back(i);
second.push_back(i);
third.push_back(i);
fourth.push_back(i);
}
std::vector<int> all = first;
all.insert( all.back(), second.begin(), second.end() );
all.insert( all.back(), third.begin(), third.end() );
all.insert( all.back(), fourth.begin(), fourth.end() );
for ( int x : all ) std::cout << x << ' ';
std::cout << std::endl;
}
相关文章:
- 从具有自定义排序的向量创建集合
- 我正在寻找一种优雅的方式来从元组向量创建tuple_element向量
- 从类指针的向量创建成员变量的向量
- 从 c++ 中的字符串向量创建一个元组
- 如何在 c++ 中从两个向量创建 JSON 对象?
- 如何在不迭代的情况下从string_view向量创建字符串向量?
- 通过移动从两个向量创建元组向量
- 为结构的向量创建C 矢量迭代器
- C 矢量元素擦除与新向量创建
- 使用向量的向量创建一个尺寸
- C MultiSet从排序的向量创建
- 从向量<T>创建一组字符串
- 使用C 中的向量创建整数集类别
- 从两个原始向量创建一个“特征::矩阵”
- 用向量创建筛子
- 从Vectores的向量创建一个板
- C++内存管理:从函数中的向量创建一个新数组
- 正在使用类中的向量创建类
- 为向量创建临时变量
- 如何在c++中使用模板图类中的向量创建邻接矩阵