一步一步写算法(之线性结构的处理)
原文: 一步一步写算法(之线性结构的处理) 【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 我们知道,在内存中的空间都是连续的。也就是说,0x00000001下面的地址必然是0x00000002。所以,空间上是不会出现地址的突变的。那什么数据结构类型是连续内部空间呢,其实就是数组,当然也可以是堆。数组有很多优势,它可以在一段连续空间内保存相同类型的数据,并且对这些数据进行管理。所以从这个意义上说,掌握了数组才能说明你数据结构入门了。 那么,在实际开发中,我们对线性结构应该注意些什么呢?我个人的观点: (1)数组的资源是有限的,必须确定资源的范围 (2)数组中资源的申请和释放必须一一对应,否则很容易造成资源泄漏的现象 (3)数组中的注意事项同样应用于堆分配的连续内存资源空间中 下面是自己设计的一个int分配的小程序,大家可以一起尝试一下: a)设计内存节点的数据形式 typedef struct _DATA_NODE { int* pData; char* pFlag; int num; }DATA_NODE; #define STATUS int #define TRUE 1 #define FALSE 0 b)创建内存节点 DATA_NODE* malloc_node(int number) { DATA_NODE*