• C++中二维vector赋值

万次阅读 2018-01-09 17:09:36
vector > nums(8,vector... //二维数组的行数为8，列数为13。后一定要加一个空格，否则会被判别为操作符>>出错 int b[8][13] = {{0,0,1,0,0,0,0,1,0,0,0,0,0}, {0,0,0,0,0,0,0,1,1,1,0,0,0}, {0,1,1,0,1,0,0,0,0,0,0
vector<vector<int> > nums(8,vector<int>(13)); //二维数组的行数为8，列数为13。<int>后一定要加一个空格，否则会被判别为操作符>>出错
int b[8][13] = {{0,0,1,0,0,0,0,1,0,0,0,0,0},
{0,0,0,0,0,0,0,1,1,1,0,0,0},
{0,1,1,0,1,0,0,0,0,0,0,0,0},
{0,1,0,0,1,1,0,0,1,0,1,0,0},
{0,1,0,0,1,1,0,0,1,1,1,0,0},
{0,0,0,0,0,0,0,0,0,0,1,0,0},
{0,0,0,0,0,0,0,1,1,1,0,0,0},
{0,0,0,0,0,0,0,1,1,0,0,0,0}};
for(int i = 0; i < 8; i++){
for(int j = 0; j < 13; j++){
nums[i][j] = b[i][j];
}
}


展开全文
• 注：二维vector赋值不能跟二维数组一样用scanf或者cin写入 遍历（迭代器） 方法一 void print() { vector<vector<char>>::iterator it; vector<char>::iterator iter; vector<char> c....
你再不来，我要下雪了。

记录下二维vector的遍历（输出）
注：二维vector的赋值不能跟二维数组一样用scanf或者cin写入
遍历（迭代器）
方法一
简洁写法
#include <bits/stdc++.h>

using namespace std;

void print() {
vector<vector<char>> res;
res.push_back({'a', 'b', 'c'});
res.push_back({'a', 'b'});
res.push_back({'a', 'b', 'c', 'd'});
for (auto i = res.begin(); i != res.end(); ++i) {
for (auto j = i->begin(); j != i->end(); ++j) {
cout << *j << " ";
}
cout << endl;
}
}

int main() {
print();
return 0;
}

或者
#include <bits/stdc++.h>

using namespace std;

void print() {
vector<vector<char>> res;
res.push_back({'a', 'b', 'c'});
res.push_back({'a', 'b'});
res.push_back({'a', 'b', 'c', 'd'});
vector<vector<char>>::iterator it;
vector<char>::iterator iter;
vector<char> ch;
for (it = res.begin(); it != res.end(); ++it) {
ch = *it;
for (iter = ch.begin(); iter != ch.end(); ++iter) {
cout << *iter << " ";
}
cout << endl;
}
}

int main() {
print();
return 0;
}


方法二
#include <bits/stdc++.h>

using namespace std;

int main() {
vector<vector<int>> vec;
vec.push_back({1, 2, 3});
vec.push_back({1, 2});
vec.push_back({1, 2, 3, 4});
for (decltype(vec.size()) i = 0; i < vec.size(); ++i) {
for (decltype(vec[i].size()) j = 0; j < vec[i].size(); ++j) {
cout << vec[i][j] << " ";
}
cout << endl;
}
return 0;
}

才疏学浅，望雅正！


展开全文
• C++二维vector使用

万次阅读 多人点赞 2018-03-26 20:36:06
转自：http://blog.csdn.net/a819825294 https://blog.csdn.net/a819825294/article/details/52088732简介 在STL中Vector这一容器，无论是在封装程度还是内存管理等方面都...这里简单叙述一下C++ 构建二维动态数...
转自：http://blog.csdn.net/a819825294 https://blog.csdn.net/a819825294/article/details/52088732简介 在STL中Vector这一容器，无论是在封装程度还是内存管理等方面都由于传统C++中的数组。本文主要是关于使用Vector初始化、遍历方面的内容。其他二维的思想也是类似的。这里简单叙述一下C++ 构建二维动态数组int **p;
p = new int*[10];    //注意，int*[10]表示一个有10个元素的指针数组
for (int i = 0; i < 10; ++i)
{
p[i] = new int[5];
}1.初始化 （1）利用Vector的push_back函数vector<vector<int>> vec;

vector<int> a;
a.push_back(1);
a.push_back(2);
a.push_back(3);

vector<int> b;
b.push_back(4);
b.push_back(5);
b.push_back(6);

vec.push_back(a);
vec.push_back(b);（2）先定义好二维数组结构，在直接赋值//得到一个5行3列的数组
//由vector实现的二维数组，可以通过resize()的形式改变行、列值
int i,j;
vector<vector<int>> array(5);
for (i = 0; i < array.size(); i++)
array[i].resize(3);

for(i = 0; i < array.size(); i++)
{
for (j = 0; j < array[0].size();j++)
{
array[i][j] = (i+1)*(j+1);
}
}2.遍历 （1）利用迭代器void reverse_with_iterator(vector<vector<int>> vec)
{
if (vec.empty())
{
cout << "The vector is empty!" << endl;
return;
}

vector<int>::iterator it;
vector<vector<int>>::iterator iter;
vector<int> vec_tmp;

cout << "Use iterator : " << endl;
for(iter = vec.begin(); iter != vec.end(); iter++)
{
vec_tmp = *iter;
for(it = vec_tmp.begin(); it != vec_tmp.end(); it++)
cout << *it << " ";
cout << endl;
}
}（2）得到行、列大小，利用下标进行遍历void reverse_with_index(vector<vector<int>> vec)
{
if (vec.empty())
{
cout << "The vector is empty!" << endl;
return;
}

int i,j;
cout << "Use index : " << endl;
for (i = 0; i < vec.size(); i++)
{
for(j = 0; j < vec[0].size(); j++)
cout << vec[i][j] << " ";
cout << endl;
}
}
展开全文
• 为二维vector进行赋值

万次阅读 2017-11-19 16:41:41
二维vector进行赋值
在练习过程中遇到了使用二维vector的情况，不想用下标访问的方式，迭代器方式摸索了好长时间，问了学长才知道。
我犯了以下错误：
1、没有指定vector的大小，就进行了下标和迭代器访问；
2、通过第一层的迭代器it_vv访问第二层的时候，用的“.”访问而不是“->”访问，迭代器的使用和指针一样，这一点忘记了。

首先需要指定vector的大小，如果不知道大小的话是不能进行下标或者迭代器访问的。
cin >> M >> N;
vector<vector<int>> m(M,vector<int>(N));

vector<vector<int>>dp(M,vector<int>(N));

然后就可以通过下标访问或者迭代器访问。

/*使用数组方式赋值*/

for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
cin >> m[i][j];
}
}

/*使用迭代器方式赋值*/
for (auto it_vv = m.begin(); it_vv != m.end(); ++it_vv) {
for (auto it_v = it_vv->begin(); it_v != it_vv->end(); it_v++) { //迭代器的使用方法和指针类似
cin >> *it_v;
}
}


展开全文
• C++二维vector

2018-03-30 18:25:07
* vector2D_test.cpp * * Created on: Mar 30, 2018 * Author: zlf */ #include&lt;iostream&gt; using namespace std; #include&lt;vector&gt; #include&lt;string&gt; /* &lt...
• C++二维vector初始化、resize()

千次阅读 2019-02-03 19:45:11
二维vector初始化 1.定义时就设置大小、初值 vector&lt;vector&lt;int&gt; &gt; v(2, vector&lt;int&gt;(4,1));//2行*4列,初始化为1 2.先定义vector，再设置大小、赋值 vector&...
• c++二维vector初始化方法

千次阅读 2019-03-19 15:05:32
1、C++ 构建二维动态数组 int **p; p = new int*[10]; //注意，int*[10]表示一个有10个元素的指针数组 for (int i = 0; i < 10; ++i) { p[i] = new int[5]; } 2、利用vector实现 vector<vector<int> &...
• C++的vector赋值

2021-01-19 17:57:55
C++vector赋值 一维vector push_back(x)：向容器尾部增加一个元素X 例： vectorgoal; goal.push_back(x); //不能用goal[0]=x; 二维vector
• C++ 动态二维数组(二维vector)

千次阅读 2020-05-11 13:55:39
在完成一项任务时可能会需要用到动态二维数组，在C++中，可以使用二维vector创建二维数组。对二维数组的使用，其操作可分为增删查改。其中修改操作可以通过简单赋值操作完成，之后便不再赘述。 创建二维数组： ...
• C++vector 实现二维数组，赋值

万次阅读 多人点赞 2019-05-11 15:19:30
vector二维数组赋值 vector<vector<float> >bk; vector<float> MM; MM.push_back(1); MM.push_back(22); MM.push_back(3); MM.push_back(6); bk.push_back(MM); 原文链接 （1...
• vector<vector<int>>根据第n列进行排序,输入程序如下所示。 for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cin >> x; a[i].push_back(x); } } 如n,m都...
• C++二维vector和C的二维数组学习 参考了http://blog.csdn.net/zhuqinglu/article/details/1805050 可通过下列代码直接创建m*n的二维vector vector<vector <int> > ivec(m ,vector<int>(n)); /...
• C++中二维Vector初始化的一种方式
• 今天在写一个程序时，需要使用到二维向量vector<vector<int> >，初始只能确定列数，但是无法确定行数 vector<vector<int> > result； 但是如果不初始化，直接使用 i=0； result[i].push_...
• C++中二维vector的使用

千次阅读 2017-11-08 20:31:12
vector容器中二数组的初始化： vector&lt;vector&lt;int&gt; &gt; new(r, vector&lt;int&gt;(c, 0)); 或者用resize()来控制大小: vector&lt;vector&lt;int&gt; &gt; res;...
• 1.一维vector的初始化 vector的构造函数通常来说有五种，如下： vector():创建一个空vector vector(int nSize):创建一个vector,元素个数为nSize vector(int nSize,const t& t):创建一个vector，元素个数为nSize...
• 二维vector;矩阵相乘
• 二维vector初始化，赋值

万次阅读 2019-01-27 19:50:50
二维vector初始化 1. 采用构造函数 vector&lt;vector&lt;int&gt;&gt; vec(10, vector&lt;int&gt;(8)); //10行8列，全部初始化为零 2.添加元素(每次添加一行) int a[] = { 1, 2, 3, 4 }; ...
• 如何将二维数组赋值给vector

千次阅读 2016-08-15 12:52:17
vector > a; double b[10][10] = {1,2,3,4,5,6,7,8,9,,,,,,,,,,,,,,,,89,79}; 将b[10][10]值如何赋给a？ 一维数组： vector a; int b[5] = {1,2,3,4,5};...二维数组： 如果a的长度给定了，  vector > a; b[5][6] =
• 给定一个 n × n 的矩阵，求它顺时针旋转 90 度的结果，且必须在原矩阵上修改（in-place）。...vector> using namespace std; class Matrix { public:Matrix(); ~Matrix(); void rotate(vector<vecto
• 名企高频考点之-C++ STL 二维vector的写法，先行再列和先列再行遍历 0. 概述 二维数组是日常开发中使用高频的一种管理数据的方式，比如迷宫地图，邻接矩阵等，操作起来也非常方便。在面试中也经常被问到，本文主要对...
• c++的vector赋值方法汇总

万次阅读 2017-07-23 10:48:49
可用于拼接多个vector====================合并======================#include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; void print(vector&lt;int&gt;&amp;...
• 使用vector初始化二维数组，并且获得二维索引的方法：
• 1.每次压入一个一维数组 void main() ...//规定二维数组行数 cin >> r; cout << "Enter c: ";//规定二维数组列数 cin >> c; vector<vector<int>>array;//定义...

...

c++ 订阅