`

二维数组

 
阅读更多

http://our2848884.blog.163.com/blog/static/146854834200992291329145/

 

二维数组new小结 


1. 
A (*ga)[n] = new A[m][n]; 
... 
delete []ga; 
缺点:n必须是已知 
优点:调用直观,连续储存,程序简洁(经过测试,析构函数能正确调用) 

2. A** ga = new A*[m]; 
for(int i = 0; i < m; i++) 
ga[i] = new A[n]; 
... 
for(int i = 0; i < m; i++) 
delete []ga[i]; 
delete []ga; 
缺点:非连续储存,程序烦琐,ga为A**类型 
优点:调用直观,n可以不是已知 

3. A* ga = new A[m*n]; 
... 
delete []ga; 
缺点:调用不够直观 
优点:连续储存,n可以不是已知 

4. vector > ga; 
ga.resize(m); //这三行可用可不用 
for(int i = 1; i < n; i++) // 
ga[i].resize(n); // 
... 

缺点:非连续储存,调试不够方便,编译速度下降,程序膨胀(实际速度差别不大) 
优点:调用直观,自动析构与释放内存,可以调用stl相关函数,动态增长 

5. vector
 ga; 
ga.resize(m*n); 
方法3,4的结合 


6. 2的改进版
A** ga = new A*[m]; 
ga[0] = new A[m*n]; 
for(int i = 1; i < m; i++) 
ga[i] = ga[i-1]+n; 
优点:连续存储,n可以不是已知,析构方便,猜想只需delete [] ga;

转载:http://www.cnblogs.com/beyondstorm/archive/2008/08/26/1276278.html

分享到:
评论

相关推荐

    删除二维数组全空行.vi

    labview 删除二维数组全空行

    Lua中使用二维数组实例

    主要介绍了Lua中使用二维数组实例,本文直接给出代码实例,看代码更容易理解,需要的朋友可以参考下

    C#二维数组基本用法实例

    本文实例讲述了C#二维数组基本用法。分享给大家供大家参考,具体如下: //定义数组 string[,] classes = new string[5, 2]; //正确的C#二维数组使用方法 classes[i, 0] = ; //错误的使用方法 classes[i][0]=; 据说...

    解决Python二维数组赋值问题

    今天小编就为大家分享一篇解决Python二维数组赋值问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    二维数组-易语言

    二维数组 尽可能的让你看到 易语言 版本的变量[0].x[0]=11 变量[1].x[1]=22 这样的形式 在火山pc里是怎么赋值与取值的 注释写的非常详细了 有错误的地方欢迎指正 一起交流学习  大神勿喷

    Python numpy实现二维数组和一维数组拼接的方法

    2.numpy初始化二维数组 a = np.array([[1,2,3]]); b = np.array([[1],[2],[3]]); print a.shape//(1,3) print b.shape//(3,1) 注意(3,)和(3,1)的数组是不一样的,前者是一维数组,后者是二维数组。 拼接 ...

    PHP实现一维数组转二维数组的方法

    主要介绍了PHP实现一维数组转二维数组的方法,实例分析了php操作数组的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    php实现给二维数组中所有一维数组添加值的方法

    给二维数组中所有的一维数组添加值(索引和关联) $shop = array( 0=&gt;array(0=&gt;1,1=&gt;2,2=&gt;3,3=&gt;4) ,1=&gt;array(0=&gt;1,1=&gt;2,2=&gt;3) ,2=&gt;array(0=&gt;1,1=&gt;2,2=&gt;3) ); print_r($shop); //示例 1:引用循环变量的地址赋值 ...

    一道 C语言 二维数组作业题目

    有下面这样的一个二维表,请将其使用二维数组输出 姓名 语文 数学 英语 张三 80 70 90 李四 40 50 90 王五 90 98 100 题解 与几位童鞋交流了一下发现他们都把汉字单独拿出来了,只用数组存储的成绩,...

    PHP二维数组去重实例分析

    然后今天我用到二维数组了,也想去重,百度一大堆,都是将二维转一维 然后使用array_unique($arr) 看得我很恼火,所以决定自己写一个。比他的简单好懂,记录下来,以备后用 header('content-type:text/html;charset...

Global site tag (gtag.js) - Google Analytics