QT中二维数组的使用
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.ap
·
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二维数组的知识,也可以私信或者留言,大家一起讨论学习!
更多推荐

所有评论(0)