弱弱的问:用vector定义多维数组时如何设置数组的大小呀?

lycos 2002-07-10 07:55:00
例如
我想定义一个5*5*5的三维矩阵
请指教
...全文
368 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
radioheads 2002-07-10
  • 打赏
  • 举报
回复
楼主太客气了
radioheads 2002-07-10
  • 打赏
  • 举报
回复
三重循环呀
每重循环里里定义一个VECTOR,插入上一层

vector<vector<vector<int> > > a;
for(int ix = 0;ix < 5; ix++)
{
vector<vcctor<int> > tmp;
for(int iy = 0; iy < 5; iy++)
{
vector<int> tmp1;
for(int iz = 0; iz < 5; iz++)
{
int x;
cin >> x;
tmp1.push_back(x);

}
tmp.push_back(tmp1);
}
a.push_back(tmp);

}

如果先知道大小,就可以象C++内定的数组一样写了
lycos 2002-07-10
  • 打赏
  • 举报
回复
一维的插入我会
但是多维的怎么插入呢?

例如
要从标准输入中读入一个5*5*5的矩阵?
请指教
radioheads 2002-07-10
  • 打赏
  • 举报
回复
如果一开始指定大小,好象速度会快一点

有的时候指定大小会为语句带来方便

不过那好象违背它的设计本意了
hust99 2002-07-10
  • 打赏
  • 举报
回复
我记得容器Vector是可以自己管理空间的,你尽管插入元素就可以了
如果一定要定义大小,
就用vector<vector<vector<int> > >
casho 2002-07-10
  • 打赏
  • 举报
回复
vector的空间是动态的,不是固定的,你插入一个元素,它会为它增加一个元素的空间
radioheads 2002-07-10
  • 打赏
  • 举报
回复
vector<vector<vector<int> > > a[5][5][5];



dhfly 2002-07-10
  • 打赏
  • 举报
回复
int a[5][5][5];

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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