c++ 二维容器vector 如何push_back!!?

例如:vector<vector<double>>test;事先我不知道test要存入的行数,只知道数据的列数。随着数据的读入test数据的行数越来越多,怎么处理呢。... 例如:vector<vector<double>> test;
事先我不知道test要存入的行数,只知道数据的列数。随着数据的读入test数据的行数越来越多,怎么处理呢。
展开
 我来答
匿名用户
推荐于2020-03-10
展开全部
  push_back,算法语言里面的一个函数名,如c++中的vector头文件里面就有这个push_back函数,在vector类中作用为在vector尾部加入一个数据。
  string中也有这个函数,作用是字符串之后插入一个字符。
  函数原型
  voidpush_back(value_type_Ch);
  参数
  _Ch-->Thecharactertobeaddedtotheendofthestring.
  在vector类中:
  voidpush_back(const_Ty&_X)
  {
  insert(end(),_X);
  }
  在vector<_Bool, _Bool_allocator>类中:
  voidpush_back(constbool_X)
  {
  insert(end(),_X);
  }
  
IT孤鹜
2014-05-07 · TA获得超过4198个赞
知道大有可为答主
回答量:3960
采纳率:71%
帮助的人:3575万
展开全部
你先定义一个
vector<double > d;对象存储每行

for(i=0;i<col;i++)
d.push_back(a[i]);

test.push_back(d); 就可以了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zyyyyzD
2019-07-24 · 超过19用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:35.6万
展开全部

新建一个 vector 来存进去

#include <stdio.h>
#include"vector"
using namespace std;

int main()
{

vector< vector<int> > vv;
vector<int> v;

for(int i=0; i<5; i++ )
v.push_back(i);

vv.push_back(v);
v.clear();

for(int i=6; i<8; i++)
v.push_back(i);

vv.push_back(v);

for( int i=0; i<vv.size(); i++)
{
for(int j=0; j<vv[i].size(); j++)
{
printf(" vv[%d][%d]=%d\n",i,j,vv[i][j]);
}
}

return 0;
}
 打印:
 vv[0][0]=0
 vv[0][1]=1
 vv[0][2]=2
 vv[0][3]=3
 vv[0][4]=4
 vv[1][0]=6
 vv[1][1]=7
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
任明星Ming
2014-05-07 · TA获得超过798个赞
知道小有建树答主
回答量:1061
采纳率:100%
帮助的人:1148万
展开全部
你这个有点走死胡同了,为什么要用vector?要知道vector超过它的容积后,会重新分配内存,你原来存入的vector会被破坏,用list才好。
追问
后续我要随机访问,也要用[]去访问,综合看还是vector好用一些啊
追答
只要你能确保vector能够存入你所需要的数据,那么你就可以用vector。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式