C++容器嵌套实现动态二维数组(Vector2D)
转: 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)的更多相关文章
- C++ 里 构建动态二维数组
//****动态二维数组 /* int m=3; int **data; int n=2; data=new int*[m]; for(int j=0;j<m;j++) { data[j]=ne ...
- C++动态二维数组的创建
两种方式. 一,二级指针,创建2行3列的动态二维数组. 这里,p指向的是2个地址,这两个地址各指向长度为3的一维整型数组. 在内存中,每行元素内部顺序排列.两行元素的首地址不同,p[1]与p[2]存放 ...
- C++建立动态二维数组
C++建立动态二维数组主要有两种方法: 1.使用数组指针,分配一个指针数组,将其首地址保存在b中,然后再为指针数组的每个元素分配一个数组 int * ...
- 动态二维数组赋值及for循环遍历和toString遍历
package com.Summer_0421.cn; import java.util.Arrays; /** * @author Summer * 动态二维数组赋值及for循环遍历和toStrin ...
- 以杨辉三角为例,从内存角度简单分析C语言中的动态二维数组
学C语言,一定绕不过指针这一大难关,而指针最让人头疼的就是各种指向关系,一阶的指针还比较容易掌握,但一旦阶数一高,就很容易理不清楚其中的指向关系,现在我将通过杨辉三角为例,我会用四种方法从内存的角度简 ...
- C语言批量数据到动态二维数组
上一篇文章将文件读取放到静态创建的二维数组中,可是结合网络上感觉到今天的DT时代,这样批量大量读取一个上百行的数据,分配的内存是否可能由于大量的数据而产生溢出呢,近期一直研究里malloc函数.通过它 ...
- 【C/C++】vector 动态二维数组
声明 vector<vector<int> vec; //赋值思路可以从这个很基础的操作里看出来 vector<int> a; a.push_back(1); a.pus ...
- C/C++动态二维数组的内存分配和释放
C语言: 1 //二维数组动态数组分配和释放 //数组指针的内存分配和释放 //方法一 char (*a)[N];//指向数组的指针 a = (char (*)[N])malloc(sizeof(ch ...
- C++ 用 new 生成一个动态二维数组
//Microsoft Visual Studio 2015 Enterprise //变长二维数组 #include <iostream> #include<iomanip> ...
随机推荐
- 使用Javascript Ajax 通信操作JSON数据 [下]
上一篇文章我们获得后台数据库的数据后转换成json格式然后返回到前台,但只是返回的一位数组,这次我们返回二维和三维数组和对象. 前台代码shizhan.html: <!DOCTYPE html& ...
- vue 滚动加载数据
参考链接:https://www.npmjs.com/package/vue-infinite-scroll
- nginx负载均衡, 配置地址带端口
nginx.conf 配置如下: upstream wlcf.dev.api { server 127.0.0.1:8833; server 127.0.0.2:8833; } server { l ...
- 数字图像处理实验(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 ...
- 给大家推荐 用 hBuilder编写代码非常好用
截图 可以试哈
- Java Iterable类
查看java源代码 /* * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE ...
- 23种计模式之Python实现(史上最全最通俗易懂)内容整改中
第一篇 Python与设计模式:前言 第二篇(23种设计模式) 创建类设计模式(5种) 单例模式.工厂模式.简单工厂模式.抽象工厂模式.建造者模式.原型模式 结构类设计模式(7种) 代理模式.装饰器模 ...
- 20169219《Linux内核原理及分析》第十二周作业
格式化字符串漏洞实验 格式化字符串攻击原理是利用格式化函数(如printf())的沿着堆栈指针向下打印的特性,通过只提供格式化字符串但不提供对应的变量,读取栈内空间的内容. 更进一步,通过将某个要攻击 ...
- Mac 使用 NFS 连接 Centos 上的共享文件夹
Mac 使用 NFS 连接 Centos 上的共享文件夹 NFS介绍 网络文件系统(Network File System,NFS),一种使用于分散式文件系统的协议,由升阳公司开发,于1984年向外公 ...
- SQLyog使用,连接ubuntu虚拟机(Error No.2003)
1.为mysql设置远程访问权限 mysql> grant all PRIVILEGES on *.* to ‘账号’@’%’ identified by ‘密码′; mysql> flu ...