首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

能说说怎样用vector来代替内置数组,特别是二维数组解决方法

2012-03-18 
能说说怎样用vector来代替内置数组,特别是二维数组能说说怎样用vector来代替内置数组,特别是二维数组例如

能说说怎样用vector来代替内置数组,特别是二维数组
能说说怎样用vector来代替内置数组,特别是二维数组

例如     将以下代码中的内置数组换成用vector代替       将是如何?

#include   <iostream>
using   namespace   std;

const   int   row   =   3;
const   int   line   =   3;

int   main()
{
int   arry[row][line]   =   {0};
int   i,   j;
int   count   =   0;

for   (i   =   0;   i   !=   row;   ++i)
{
for   (j   =   0;   j   !=   line;   ++j)
{
arry[i][j]   =   count;
++count;
cout   < <   arry[i][j]   < <   "\t ";
}
cout   < <   endl;
}

return   0;
}

[解决办法]
你自己翻翻vector的说明吧,调用每个TempVector[i]的reisize()函数初始化,或者这样写:
vector <vector <int> > TempVector( Height, vector <int> ( Width, 缺省值 ) );
使用上和2维数组没区别。一样用TempVector[i][j]这种方式读写。

其实在没有vector的年代我们一般用这种形式:
int** pData = new int*[Height];
for( int i=0; i <Hight; ++i )
  pData[i] = new int[Width];
这个和这样使用vector是一个道理的。这样理解可能更容易一些吧。
[解决办法]
const int row = 3;
const int line = 3;

int main()
{
vector <vector <int> > arry( row,vector <int> (line) );//定义数组,初始值为0

int i, j;
int count = 0;

for (i = 0; i != row; ++i)
{
for (j = 0; j != line; ++j)
{
arry[i][j] = count;
++count;
cout < < arry[i][j] < < "\t ";
}
cout < < endl;
}

return 0;
}

热点排行