QVector的使用(二维数组)

注意: 注释的部分为输出的值

在头文件定义一个二维数组

QVector<QVector<int>> array;

一 初步认识

手动通过append给二维数组赋值

    //10行4列的数组
    QVector<int> temp;
    for(int i=0;i<10;i++)
    {
        temp.append(1);
        temp.append(2);
        temp.append(3);
        temp.append(4);
        array.append(temp);
    }
    qDebug()<<array.size()<<array[0].size();//10 4
    qDebug()<<array[0];//QVector(1,2,3,4)
    qDebug()<<array[0][0];//1

二 正常方法

1)通过resize设置二维数组的行和列

    //8行6列的数组
    array.resize(8);
    for(int j=0;j<array.size();j++)
    {
        array[j].resize(6);
    }
    qDebug()<<array.size()<<array[0].size();//8 6

2)赋值

   //通过遍历赋值
    for(int i = 0; i < array.size(); i++)
    {
       for (int  j= 0; j < array[0].size();j++)
        {
            array[i][j] = i*j;
        }
    }
    qDebug()<<array[2];//QVector(0, 2, 4, 6, 8, 10)
    qDebug()<<array[1][1];//1

3)利用迭代器输出,也可以和赋值一样通过遍历输出

 //通过迭代器输出二维数组数据
//8行
for(QVector<QVector<int>>::iterator pRow = array.begin();pRow!=array.end();pRow++)
{  
    //6列
    for(QVector<int>::iterator pColoum = pRow->begin();pColoum!=pRow->end();pColoum++)
    {
        qDebug()<<*pColoum;
    }
}

5)输出结果
由于使用qDebug()不能换行,在这里手动列举了4行

0  0  0  0  0  0  
0  1  2  3  4  5  
0  2  4  6  8 10  
0  3  6  9 12 15  

Vivi的城 留言:

   以上就是今天对二维数组的学习总结,如果大家有什么异议,或者其他关于QT二维数组的知识,也可以私信或者留言,大家一起讨论学习!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐