`
444878909
  • 浏览: 638844 次
文章分类
社区版块
存档分类
最新评论

C++建立动态二维数组

 
阅读更多

C++建立动态二维数组主要有两种方法:

1.使用数组指针,分配一个指针数组,将其首地址保存在b中,然后再为指针数组的每个元素分配一个数组


int **b=new int*[row];//分配一个指针数组,将其首地址保存在b中
for(i=0;i<row;i++) //为指针数组的每个元素分配一个数组
b[i]=new int[col];
该方法定义的动态二维数组的释放需先释放指针数组的每个元素指向的数组,然后再释放该指针数组:
for(i=0;i<row;i++)
{
delete [col]b[i];
b[i]=NULL;
}
delete [row]b;
b=NULL;
int _tmain(int argc, _TCHAR* argv[])
{
	int row,column;
	cin>>row>>column;

	//方法一
	//申请空间
	int ** a = new int *[row];
	for(int i = 0;i < row;i++)
		a[i] = new 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]<<"     ";
		}
	}
		
	//释放空间
	for(int i = 0;i < row;i++)
	{
		delete a[i];
		a[i] = NULL;
	}
	delete [row]a;
	a = NULL;	

	return 0;
	
}
运行结果:

2.利用vector

int _tmain(int argc, _TCHAR* argv[])
{
	int row,column;
	cin>>row>>column;

	//方法二
	//申请空间
	vector<vector<int> > a(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]<<"     ";
		}
	}		
	
	return 0;
	
}

运行结果为:


分享到:
评论

相关推荐

    c++动态创建二维数组

    我们在建立二维数组时,除了用vecctor还可以用这个方法关于创建C++二维数组。

    c++中将二维数组元素变换为逆向存放的实现代码

    1、例如,原始二维数组为,逆向存放后变为。试建立一个类REVARR,完成上述工作。 具体要求如下: (1)私有数据成员 int a[M][N]:初始化时存放原始二维数组,最终存放逆向存放后的二维数组。 (2)公有成员函数 ...

    C/C++ 动态数组的创建的实例详解

    在C++语言中,二维动态数组主要使用指针的方法建立,以建立一个整数二维数组为例: #include #include #include using namespace std; int main(int argc,char **argv) { ///*int a[2][3]={{1,2,3},{4,5,6}}; //...

    数据结构 实验一 我们做数据结构实验一得完整代码,包括线性表,多项式加法,乘法的操作,c++描述

    我们做数据结构实验一得完整代码,包括线性表,多项式加法,乘法的操作,c++描述

    c++简单迷宫游戏

    建立一个窗口(一个资源文件,一个头文件,两个类)。导入图片(将图片从外部文件——内存——缓冲区——窗口)。...建立迷宫(建一个二维数组,1代表墙,0代表通道,2代表入口,3代表出口,将图片墙导入窗口测试修改

    C程序设计(第四版)学习辅导【谭浩强】

    6.2.2怎样引用二维数组的元素151 6.2.3二维数组的初始化152 6.2.4二维数组程序举例153 6.3字符数组155 6.3.1怎样定义字符数组155 6.3.2字符数组的初始化156 6.3.3怎样引用字符数组中的元素156 6.3.4字符串和字符串...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar

    7.2 二维数组的定义和引用 86 7.2.1 二维数组的定义 86 7.2.2 二维数组元素的引用 86 7.2.3 二维数组的初始化 87 7.2.4 二维数组程序举例 89 7.3 字符数组 89 7.3.1 字符数组的定义 89 7.3.2 字符数组的初始化 89 ...

    C程序设计 第四版 谭浩强 高清扫描版 带完整书签目录 加 学习辅导

    6.2.2 怎样引用二维数组的元素 6.2.3 二维数组的初始化 6.2.4 二维数组程序举例 6.3 字符数组 6.3.1 怎样定义字符数组 6.3.2 字符数组的初始化 6.3.3 怎样引用字符数组中的元素 6.3.4 字符串和字符串结束标志 6.3.5 ...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar )

    7.2 二维数组的定义和引用 86 7.2.1 二维数组的定义 86 7.2.2 二维数组元素的引用 86 7.2.3 二维数组的初始化 87 7.2.4 二维数组程序举例 89 7.3 字符数组 89 7.3.1 字符数组的定义 89 7.3.2 字符数组的初始化 89 ...

    带音效的VC++俄罗斯方块游戏源码

    创建RusBlock类包含相应的数据和行为,创建二维数组aState[21][25]记录游戏区域中被标记的矩形。 俄罗斯方块有7个部件,每个部件所占的矩形的个数和位置不同,所以建立部件类,然后建立数组储存7个部件,每个部件...

    新概念C语言.李一波(带详细书签).pdf

    12.1 二维数组的定义和引用 132 12.1.1 二维数组的定义 132 12.1.2 二维数组的引用 132 12.2 二维数组的初始化 133 12.3 二维数组应用举例 134 12.4 多维数组的定义和引用 136 习题 136 第13章 选择结构 138 ...

    C语言程序设计(高清PDF)

    5.2.1 二维数组的一般形式 80 5.2.2 字符串数组 84 5.3 多维数组 85 5.4 数组的初始化 85 5.4.1 数组初始化 85 5.4.2 变长数组的初始化 86 5.5 应用程序举例 87 第6章 指针 91 6.1 指针与指针变量 91 6.2 指针变量的...

    C++程序设计彻底研究(是code不是书)

    7.4 将二维数组当成函数的参数 7.5 常犯的错误 7.6 本章重点 7.7 本章练习 PART II 高级C++程序设计语言 第8章指针 8.1 内存地址与指针 8.2 指针与引用 8.3 数组与指针的代数计算 8.4 指针参数 8.5 函数...

    C语言程序设计(PDF格式)

    5.2.1 二维数组的一般形式 80 5.2.2 字符串数组 84 5.3 多维数组 85 5.4 数组的初始化 85 5.4.1 数组初始化 85 5.4.2 变长数组的初始化 86 5.5 应用程序举例 87 第6章 指针 91 6.1 指针与指针变量 91 6.2 指针变量的...

    C语言程序设计.rar

    5.2.1 二维数组的一般形式 80 5.2.2 字符串数组 84 5.3 多维数组 85 5.4 数组的初始化 85 5.4.1 数组初始化 85 5.4.2 变长数组的初始化 86 5.5 应用程序举例 87 第6章 指针 91 6.1 指针与指针变量 91 6.2 指针变量的...

    《C语言程序设计》-PDF格式

    5.2.1 二维数组的一般形式 80 5.2.2 字符串数组 84 5.3 多维数组 85 5.4 数组的初始化 85 5.4.1 数组初始化 85 5.4.2 变长数组的初始化 86 5.5 应用程序举例 87 第6章 指针 91 6.1 指针与指针变量 91 6.2 指针变量的...

    二级c未来教育题库破解及资源

    2.一维、二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的 定义。通过指针引用以上各类型数据。 3.用指针作函数参数。 4.返回地址值的函数。 5.指针数组,指向指针的指针。 ...

    OpenCASCADE数据调试可视化

    一些说明,NCollection_Array2二维数组维数仅在行与列均相等时才正确,之所以错误是因为这里的size不好写;NCollection_BaseMap哈希基础的仅在vs2015版才能展开显示,vs2012版需要删掉下边的Expand内容,此外假定...

Global site tag (gtag.js) - Google Analytics