关于vector的嵌套使用赋值和遍历

septem0729 2013-07-05 04:50:20
诸位前辈你们好,我又来了。。。。。。
还是之前的问题,先看代码
int main()
{
vector<vector<long int> > unit;
vector<long int> atoms;
unit.push_back(atoms);
vector<vector<long int> > unit::iterator unitit8er;
vector<int> atoms::iterator atomiter;
int i,j;
for(i=vector<vector<long int> > unit::iterator unititer;i!=unit.end();++i)
{
for(j=vector<int> atoms::iterator atomiter;j!=atoms.end();++j)
{

}
}
return 0;
}
}

现在我有若干个unit和atmos,通过计算我会得到atoms的Index,也就是说得到atoms属于哪儿个unit,atoms和unit的数字都是不确定的,需要在程序运行后计算才能得知,举个例子
程序输入x,y,z,unit=x*y*z,数量为i个atoms,通过计算得出数据[1,2,2,3,4,2,6,7.......],现在我要做的就是统计atoms,将atoms指数,也就是相应数据中相应的数字放入相应的unit中,比如1号atoms的index为1,那么我放入unit 1中,2,3号的index均为2,那么我放入unit 2中,以此类推。

所以我有个嵌套vector,但是我不知道怎么操作迭代器来放入数据,求教!
...全文
1476 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lm_whales 2013-07-08
  • 打赏
  • 举报
回复
一般matrix才会用双重的vector int mian() { vector<vector<long int> > unit; //vector<long int> atoms; //unit.push_back(atoms); //vector<vector<long int> > unit::iterator unitit8er; //vector<int> atoms::iterator atomiter; //简单点,可以这样做 int i,j; unit.resize(20) for(vector<vector<long int> >iterator i;i!=unit.end();++i) { *i.resize(20); for(vector<int> ::iterator j;j!=atoms.end();++j) { *j=(j- (*i).begin())+ (i- unit.begin()) *20; } } }
allenltiverson 2013-07-06
  • 打赏
  • 举报
回复
vector嵌套这种用法一般不常用,如果非要用的话,建议用双map
www_adintr_com 2013-07-05
  • 打赏
  • 举报
回复
不该用 vecotr 的, 用 map 更好. std::map<int, std::map<int, int> > unit; 插入数据: unit[index_atoms][index_unit] = 值
starytx 2013-07-05
  • 打赏
  • 举报
回复
听得云山雾罩的
zybjtu 2013-07-05
  • 打赏
  • 举报
回复
push_back不是放入数据吗?两个for循环,外面的用来压入 atmos,里面的用来压入每个数据,就好了啊
漫步者、 2013-07-05
  • 打赏
  • 举报
回复
但是我不知道怎么操作迭代器来放入数据 就是前面的push_back就好了
图灵狗 2013-07-05
  • 打赏
  • 举报
回复
主要是没有看懂你的意思,感觉上是根本不需要两层vector,可以先不上代码,原原本本的描述好你的需求。

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧