首页 > 代码库 > vector<vector<int> >二维容器编程

vector<vector<int> >二维容器编程

#include <iostream>
#include <vector>
using std::cout;
using std::endl;
using std::vector;
template<typename T>
void show(const vector<vector<T> > &ivvec); //输出vector<vector<int> >的内容

int main(void)
{
 vector<vector<int> >ivvec;  //5行10列
 for(int i=0;i<5;++i)
 {
  vector<int>ivec;   //创建一个临时的vector<int>,用来存储二维vector的行数据
  for(int j=0;j<10;++j)
  {
   ivec.push_back(j);   
  }
  ivvec.push_back(ivec);  //添加vector<int>(添加行数据)  
  ivec.clear();          //删除ivec数据
 }
 cout<<ivvec.size()<<endl;  //输出5
 show(ivvec);
 return EXIT_SUCCESS;
 
}

template<typename T>
void show(const vector<vector<T> > &ivvec) 
{
 for(std::vector<vector<T> >::const_iterator iter=ivvec.begin();iter!=ivvec.end();++iter)  //一定要加上std::
 {
  for(std::vector<T>::const_iterator it=iter->begin();it!=iter->end();++it)   ////一定要加上std::
  {
   cout<<*it<<"  ";
  }
  cout<<endl;
 }

    //也可以如下这样写
/* for(int i=0;i<ivvec.size();++i)
 {
  //vector<int> ivec = ivvec[i];
  for(int j=0;j<ivvec[i].size();++j)
  {
   cout<<ivvec[i][j]<<" ";
  }
  cout<<endl;
 }*/
}

 

本文出自 “whatever957” 博客,请务必保留此出处http://whatever957.blog.51cto.com/6835003/1570377

vector<vector<int> >二维容器编程