转: http://blog.csdn.net/Touch_Dream/article/details/74931891

#include<stdio.h>
#include <iostream>
#include <vector> using namespace std; int main()
{
int row, column;
cin >> row >> column;
vector<vector<int> > a(row, vector<int>(column));
//row决定最里面层容器大小,vector<int>(column)决定外层容器的类型和大小 for (int j = 0; j < row; j++)
for (int k = 0; k< column; k++)
a[j][k] = rand() % 100; for (int j = 0; j < row; j++)
{
cout << endl;
for (int k = 0; k< column; k++)
{
a[j][k] = rand() % 100;
cout << a[j][k] << " ";
}
} while (1)
{ }
return 0;
}

方法二

利用vector的成员函数resize,来制定大小

#include<stdio.h>
#include <iostream>
#include <vector> using namespace std; int main()
{
int row, column;
cin >> row ; vector<vector<int> > a(row);//row决定最里面层容器大小,vector<int>(column)决定外层容器的类型和大小
for (int k = 0; k < row; k++)
a[k].resize(row);//row*row矩阵
//使用空间
for (int j = 0; j < row; j++)
for (int k = 0; k< row; k++)
a[j][k] = rand() % 100; for (int j = 0; j < row; j++)
{
cout << endl;
for (int k = 0; k< row; k++)
{
a[j][k] = rand() % 100;
cout << a[j][k] << " ";
}
}
while (1)
{ }
return 0;
}

测试结果

C++容器嵌套实现动态二维数组(Vector2D)的更多相关文章

  1. C++ 里 构建动态二维数组

    //****动态二维数组 /* int m=3; int **data; int n=2; data=new int*[m]; for(int j=0;j<m;j++) { data[j]=ne ...

  2. C++动态二维数组的创建

    两种方式. 一,二级指针,创建2行3列的动态二维数组. 这里,p指向的是2个地址,这两个地址各指向长度为3的一维整型数组. 在内存中,每行元素内部顺序排列.两行元素的首地址不同,p[1]与p[2]存放 ...

  3. C++建立动态二维数组

    C++建立动态二维数组主要有两种方法: 1.使用数组指针,分配一个指针数组,将其首地址保存在b中,然后再为指针数组的每个元素分配一个数组                           int * ...

  4. 动态二维数组赋值及for循环遍历和toString遍历

    package com.Summer_0421.cn; import java.util.Arrays; /** * @author Summer * 动态二维数组赋值及for循环遍历和toStrin ...

  5. 以杨辉三角为例,从内存角度简单分析C语言中的动态二维数组

    学C语言,一定绕不过指针这一大难关,而指针最让人头疼的就是各种指向关系,一阶的指针还比较容易掌握,但一旦阶数一高,就很容易理不清楚其中的指向关系,现在我将通过杨辉三角为例,我会用四种方法从内存的角度简 ...

  6. C语言批量数据到动态二维数组

    上一篇文章将文件读取放到静态创建的二维数组中,可是结合网络上感觉到今天的DT时代,这样批量大量读取一个上百行的数据,分配的内存是否可能由于大量的数据而产生溢出呢,近期一直研究里malloc函数.通过它 ...

  7. 【C/C++】vector 动态二维数组

    声明 vector<vector<int> vec; //赋值思路可以从这个很基础的操作里看出来 vector<int> a; a.push_back(1); a.pus ...

  8. C/C++动态二维数组的内存分配和释放

    C语言: 1 //二维数组动态数组分配和释放 //数组指针的内存分配和释放 //方法一 char (*a)[N];//指向数组的指针 a = (char (*)[N])malloc(sizeof(ch ...

  9. C++ 用 new 生成一个动态二维数组

    //Microsoft Visual Studio 2015 Enterprise //变长二维数组 #include <iostream> #include<iomanip> ...

随机推荐

  1. 使用Javascript Ajax 通信操作JSON数据 [下]

    上一篇文章我们获得后台数据库的数据后转换成json格式然后返回到前台,但只是返回的一位数组,这次我们返回二维和三维数组和对象. 前台代码shizhan.html: <!DOCTYPE html& ...

  2. vue 滚动加载数据

    参考链接:https://www.npmjs.com/package/vue-infinite-scroll

  3. nginx负载均衡, 配置地址带端口

    nginx.conf  配置如下: upstream wlcf.dev.api { server 127.0.0.1:8833; server 127.0.0.2:8833; } server { l ...

  4. 数字图像处理实验(5):PROJECT 04-01 [Multiple Uses],Two-Dimensional Fast Fourier Transform 标签: 图像处理MATLAB数字图像处理

    实验要求: Objective: To further understand the well-known algorithm Fast Fourier Transform (FFT) and ver ...

  5. 给大家推荐 用 hBuilder编写代码非常好用

    截图   可以试哈

  6. Java Iterable类

    查看java源代码 /* * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE ...

  7. 23种计模式之Python实现(史上最全最通俗易懂)内容整改中

    第一篇 Python与设计模式:前言 第二篇(23种设计模式) 创建类设计模式(5种) 单例模式.工厂模式.简单工厂模式.抽象工厂模式.建造者模式.原型模式 结构类设计模式(7种) 代理模式.装饰器模 ...

  8. 20169219《Linux内核原理及分析》第十二周作业

    格式化字符串漏洞实验 格式化字符串攻击原理是利用格式化函数(如printf())的沿着堆栈指针向下打印的特性,通过只提供格式化字符串但不提供对应的变量,读取栈内空间的内容. 更进一步,通过将某个要攻击 ...

  9. Mac 使用 NFS 连接 Centos 上的共享文件夹

    Mac 使用 NFS 连接 Centos 上的共享文件夹 NFS介绍 网络文件系统(Network File System,NFS),一种使用于分散式文件系统的协议,由升阳公司开发,于1984年向外公 ...

  10. SQLyog使用,连接ubuntu虚拟机(Error No.2003)

    1.为mysql设置远程访问权限 mysql> grant all PRIVILEGES on *.* to ‘账号’@’%’ identified by ‘密码′; mysql> flu ...