C++中vector的应用

本文参考了:https://blog.csdn.net/u013068755/article/details/70198924

                      https://blog.csdn.net/u010186001/article/details/59141786###;


vector<vector<int>>中,因为vector是一个容器,最外层的vector容器中放着更小的vector,而里层的vector里面放的是int型的数字。所以我们首先要对里层的vector容器赋值,然后再把里层的vector作为元素插入到外层的vector中。

综合了一下网上的各种说法,理解如下:

未指定向量大小时不可直接访问;

解决方法:1. push_back函数;

                     设定的是具体的某一向量长度;

                2. resize函数;

                     可随时更改长度,且不受最初设定的向量多少限制;  

贴代码

  #include <iostream>
  #include <vector>
  using namespace std;
  int main()
  {
      vector< vector<int> > array(3);
      for(int i=0;i<3;i++)
        array[i].resize(4);//设置数组的大小3X4
         //现在你可以和使用数组一样使用这个vector
      for(int i=0;i<3;i++)
        for(int j=0;j<4;j++)
          array[i][j]=(i*j);
      //输出
      for(int i=0;i<3;i++)
      {
         for(int j=0;j<4;j++)
           cout<<array[i][j]<<" ";
         cout<<endl;
       }
     array.resize(5);
     array[3].resize(3);
     array[4].resize(3);
      //现在是5X3的数组了
      for(int i=0;i<5;i++)
         for(int j=0;j<3;j++)
            array[i][j]=(i*j);
      for(int i=0;i<5;i++)
      {
         for(int j=0;j<3;j++)
            cout<<array[i][j]<<" ";
        cout<<endl;
      }
  }


猜你喜欢

转载自blog.csdn.net/sinat_36420785/article/details/79854431