《现代电子技术》2006年第24期摘录:基于C++语言的多维动态数组的实现
-
如发现有乱码,
请直接从这里浏览原文
正文摘录:张雪彬等:基于C’1=运童塑曼丝垫查麴缉笪墨堡基于C++语言的多维动态数组的实现张雪彬’,刘培国’,曹兵。(1.国防科学技术大学电子科学与工程学院湖南长沙410073;2.海军标准规范所上海210035)摘要:在用visualc’’语言处理复杂和庞大的数据时,常需要用到多维动态数组来管理,但开辟多维动态数组时指针的使用是极为复杂和难于理解的。针对这一r--i题,利用‘‘递推’’的思想进行研究,给出快速有效地建立多维动态数组的c1‘’代码的思路和方法,并给出详细代码。经过验证此方法是可行的,从而为较好地解决这类问题带来很大的方便。关键词:多维;动态数组;C’’代码;VisualC’’中图分类号:TP312文献标识码:B文章编号:1004—373X(2006)24—068—02ImplementofMultidimensionalDynamicArraysinC++ZHANGXuebin’,LIUPeiguo’,CAOBing。(1.InstituteofElectronicScienceandEngineering,NationalUniversityofDefenceTechnology,Changsha,410073,China2.StandardCriterionInstitutionofNavy,Shanghai,210035,China)Abstract:WhendealingwithcomplexandexcessivedatabasedonthevisualC“language,weusallyneedtousethemul—tidimensionaldynamicarrays.Butitiscomplexandobscurewhenusingthepointtoestablishthemultidimensionaldynamicar—rays,SOthepapergivesaneffectivemethodtobuildthemultidimensionaldynamicarraysaccordingtotheideaofrecursion.ThedetailC’’codesaregivenandweprovetheyarecorrect.It’Sconvenientfordealingwiththemultidimensionaldynamicarrays.Keywords:multidimensional;dynamicarrays;C’。’codes;VisualC’’1引言C“语言是目前应用极为广泛的编程语言。在用这种语言的程序设计中,数组在数据处理中是不可缺少的。例如,在矩阵处理中需要用到二维数组;对空间的描述要用三维数组;在描述信号的时空四维空间中,离散的信号要用到四维数组。在基于灵活、通用性好的前提下,这些数组中组的个数和元素的多少常是根据具体情况而定的。此时采用常规的多维静态数组是不可取的。因此,如何有效简洁地建立多维动态数组,对于方便处理随机多维动态数据来说具有重要的意义。通常使用指针来实现一维、二维动态数组是较为方便的,但是当问题难度加大,需要用到三维、四维甚至更高维数的动态数组时,要搞清楚用指针实现一个繁琐的问题将是困难的。该文就这个问题做了研究,借鉴通常的“递推”思维,很容易地实现了多维的动态数组,并给出了可行有效的代码。C“的new和delete运算符可使程序实现动态内存分配。通常用到的一维形式是:收稿日期:2006—06—0868double*array;intK;K一100:array—newdoubleEK3;K的值也可以由含有变量的函数给出,从而数组是动态的。在数组用完后,要用下面的语句释放内存delete口array;多维数组比一维数组复杂约多,如何正确快捷的建立呢?2多维动态数组的实现2.1二维动态数组的实现同样,二维动态数组要用到指针,new和delete运算符。实现原理很多资料都有,此处不再提及。实现代码如下://建立二维动态数组boolMake2DArrays(double**&a,intsizel,intsize2)fa—newdouble*Esizel]:for(inti一0;i<sizel;i+十)aEi3一newdoubleEsize2~:returntrue://释放内存空间
阅读此文(图):
在线翻阅