关于C++中vector<vector<int>>的个人理解

来源:互联网 发布:淘宝卖家积分等级:皇冠 编辑:程序博客网 时间:2024/06/05 19:04

标准库模型vector表示对象的集合,其中所有对象的类型都相同。集合中每个对象都有一个与之对应索引,索引用于访问对象。

注:vector是模板而非类型,由vector生成的类型必须包含vector中元素的类型,如vector< int>

本文就自己对vector< vector< int>>的个人理解进行分享,不当之处欢迎大家指正。

这里有两种方法对vector< vector< int>>进行赋值:
1、采用vector模板中的方法push_back()

#include<iostream>#include<vector> using namespace std;int main(){    //array用来保存一个3*3的二维数组,array的每个元素都是vector<int>类型    vector <vector<int> >array;    std::vector<int> v;    for (int i = 0; i <3; i++){        for (int j = 0; j <3; j++){            int value;            cin >> value;            v.push_back(value);        }        array.push_back(v); //保存array的每个元素        v.clear();    }    for (int i = 0; i <array.size(); i++)    {        for (int j = 0; j <3; j++)            cout <<array[i][j];        cout<<endl;    }    return 0;}

2、用分配空间的resize()函数

#include<iostream>#include<vector> using namespace std;int main(){    vector <vector<int> >array(3);//首先给array开辟了三个空间    for (int i = 0; i <3; i++){        array[i].resize(3);//给array中每个元素开辟了三个空间        for (int j = 0; j <3; j++){            cin >> array[i][j];//直接对开辟的空间赋值即可        }    }    for (int i = 0; i <array.size(); i++)    {        for (int j = 0; j <3; j++)            cout <<array[i][j];        cout<<endl;    }    cout << array.size();    return 0;}

示例结果

方法1中是首先确定一个vector< int>类型对象,然后把它push_back()到array中去;方法2是用开辟空间的函数resize(),这样能直接当作数组进行赋值。

0 0
原创粉丝点击