C++如何用vector实现存放4行4列的,然后再在3行3列的数据,3行3列的数据放在4行4列数据的下面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++如何用vector实现存放4行4列的,然后再在3行3列的数据,3行3列的数据放在4行4列数据的下面相关的知识,希望对你有一定的参考价值。

4 5 6 7
2 4 3 8
5 3 1 0
1 6 2 9
6 3 4
2 7 9
0 8 1
如何用vector存放这样的数据呀

给你写一个代码看看,不想测试,看看思想。关键是vector<vector<int>>
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char* argv)

vector<vector<int>> theVec;
vector<int>* pVec;
pVec = new vector<int>();
pVec->push_back(4);
pVec->push_back(5);
pVec->push_back(6);
pVec->push_back(7);
theVec.push_back(*pVec);
pVec = new vector<int>();
pVec->push_back(2);
pVec->push_back(4);
pVec->push_back(3);
pVec->push_back(8);
theVec.push_back(*pVec);
pVec = new vector<int>();
pVec->push_back(5);
pVec->push_back(3);
pVec->push_back(1);
pVec->push_back(0);
theVec.push_back(*pVec);
pVec = new vector<int>();
pVec->push_back(1);
pVec->push_back(6);
pVec->push_back(2);
pVec->push_back(9);
theVec.push_back(*pVec);
pVec = new vector<int>();
pVec->push_back(6);
pVec->push_back(3);
pVec->push_back(4);
theVec.push_back(*pVec);
pVec = new vector<int>();
pVec->push_back(2);
pVec->push_back(7);
pVec->push_back(9);
theVec.push_back(*pVec);
pVec = new vector<int>();
pVec->push_back(0);
pVec->push_back(8);
pVec->push_back(1);
theVec.push_back(*pVec);
return 0;


关键在于你应该理解vector是一个动态数组,可以动态分配大小,push_back操作是最基本的操作。这样的实现不只适用于你所说的那个数据结构,任何以二维数组为标准的数据结构均可用vector来实现
参考技术A Vector相当于是动态数组而已。只是用Vector存放这样的数据并不合适。
这种数据完全可以用Vector和List组合存放

每一行的数据用List进行存放,
然后所有的List存放在vector中。

当然还可以有其它的存放方式,仅作参考。。。
希望对你能有所帮助。
参考技术B VECTOR存放的数据是链状的。。! 你说的这个是打印出来的效果或者是存放到文件里面的效果吧追问

我就是想用一个vector存放这样的数据,不知道怎么放

追答

这个简单。
#include
#include
#include

using namespace std;

int main()

vector num_vec;
ifstream fin("data.txt");
int num;
while(fin>>num)
num_vec.push_back(num);
return 0;


以上未经过测试,只是简单的把你说的数据装入一个INT型VECOTR

追问

我就是想把4*4的二维数组和3*3的二维数组,存放到vector或者list中,效果和图中所示,如果不用文件怎么做呀

追答

直接把数字输到屏幕上,回车。
。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。

你要的这个效果其实是打印出来的效果吧,,,,,,加入int型变量稍微控制一下打印效果就行,比如要一排要放4个,。。。只需要i%5=0 cout<<"\n"; 这样就提行了。。。
如果你是要数据保存也像那样的话,当我没说。因为“怎样保存对你这些数据来说,没有意义”。

参考技术C 补齐三行三列成四行四列。 参考技术D 包一个数据结构就可以了

以上是关于C++如何用vector实现存放4行4列的,然后再在3行3列的数据,3行3列的数据放在4行4列数据的下面的主要内容,如果未能解决你的问题,请参考以下文章

C++ 中 vector 如何实现内存分配

如何用js通过下拉菜单来实现div的隐藏和显示

c++如何用指针指向二维数组

请问如何用C或C++把mysql数据库中的某一列数据读出来,然后把这一列数据存放在数组中?急用!!!谢谢!

如何用加法实现减法

在C语言中如何用把二维数组中的一行贼给一维数组?