欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C/C++STL多维数组(vector(vector() ))

程序员文章站 2022-04-15 11:17:49
c/c++stl多维数组(vector(vector() )):stl本身并没有二维三维数组的概念。但是并不是说stl不支持多维数组。我们可以用向量vector来构造多位数组。 定义一个二维数组:...

c/c++stl多维数组(vector(vector() )):stl本身并没有二维三维数组的概念。但是并不是说stl不支持多维数组。我们可以用向量vector来构造多位数组。

定义一个二维数组:

vector > ivv;     

对象ivv是向量的向量,相当于一个二维数组,但是各维上元素的数目可以不同。
需要注意的是两个”>”符号之间必须有空格,否则会被认为是”>>”操作符,而造成错误。

下面还是用实际例子来说明用法:

// stl  多维数组(vector >)
#include 
#include 
using namespace std;

int main()
{
    vector > vectorarray;  //向量的向量 > >中间有个空格
    vector a;
    vector::iterator sit;         //迭代器

    a.push_back(4);
    a.push_back(26);
    a.push_back(77);

    vector b;
    b.push_back(7);
    b.push_back(26);
    b.push_back(75);

    vectorarray.push_back(a);          //向量对象a插入
    vectorarray.push_back(b);          //向量对象b插入

    int anint;
    vector >::iterator it;
    vector mylist;
    for (it = vectorarray.begin(); it != vectorarray.end(); ++it)
    {
        mylist = *it;
        for (sit = mylist.begin(); sit != mylist.end(); ++sit)
        {
            anint = *sit;
            cout<