如何做网站购物车,建立网站如何盈利,wordpress文章乱码,基础建设文本网站介绍 本文主要介绍使用 动态二维数组的两种方法 (PS:仅作创建 动态二维数组参考,详细使用方法根据需求自行改变) 第一种#xff1a;连续存储结构的 二维动态数组(需固定 列 大小#xff0c;可通过下标访问) 缺点: 1.需要在设计二维数组前写死 列 的大小 2.空间利用率不高 优点…介绍 本文主要介绍使用 动态二维数组的两种方法 (PS:仅作创建 动态二维数组参考,详细使用方法根据需求自行改变) 第一种连续存储结构的 二维动态数组(需固定 列 大小可通过下标访问) 缺点: 1.需要在设计二维数组前写死 列 的大小 2.空间利用率不高 优点 1.可以通过下标快速查找数据、修改数据(效率高)第二种非连续存储结构 二维动态数组(不可以通过下标访问) 缺点: 1.不能随机查找必须从第一个开始遍历查找效率低 2.需要逐级删除 二维动态数组 优点 1.空间利用率高 源码
#includeiostreamusing namespace std;//第一种方法:此方法创建的动态二维数组 是 “连续数组 并且 固定列数”
void TestFunc(unsigned int n)
{unsigned int i, j;//创建一个固定列为 5 大小的二维数组int(*array_two)[5] new int[n][5];//赋值操作和操作正常二维数组一样for (i 0; i n; i){for (j 0; j 5; j){array_two[i][j] i * 5 j;}}//访问数据cout array_two[2][3] endl;//回收方法和普通数组一样delete[] array_two;
}
//第二种方法:此方法创建的动态二维数组 是 “非连续数组”
void TestFunc_printer(unsigned int Height, unsigned int Width)
{unsigned int i, j;//用二级指针创建 行 动态数组(也就是每一行的头部)int **array_two new int *[Height];//循环 行 从头到尾赋值 列for (i 0; i Height; i){//一维数组创建 列 动态数组(也就是给每一行分配多少列)array_two[i] new int[Width];}//访问方法for (i 0; i Height; i){for (j 0; j Width; j){//赋值array_two[i][j] i * 5 j;}}//此方法不能直接访问数据//cout array_two[3][6] endl;//二维动态数组的 访问方法for (i 0; i Height; i){for (j 0; j Width; j){if (i 2 j 6){//打印指定的值cout array_two[i][j] endl;}}}//删除方法//先删除 每一行中的每一列for (i 0; i Height; i){//删除一维数组delete[] array_two[i];}//此处直接删除 行 即可delete[] array_two;
}
void main()
{TestFunc(6);//创建一个 array_two[6][5] 的固定列的动态二维数组TestFunc_printer(3,9);//创建一个 array_two[3][9] 的非连续动态二维数组system(pause);
}运行结果