【技术实现步骤摘要】
:本专利技术涉及计算机系统,具体涉及一种快速检索数据的链表实现方法。
技术介绍
:随着计算机技术的迅猛发展,特别是嵌入式系统的发展,为了加快系统处理速度等原因,越来越多要处理的数据需要大量的保存在系统内存中,这就要求具备一种方便对内存数据进行维护操作的方法,来满足各种不同的数据处理需求。现有技术中普通的链表结构功能不够全面,其节点的数据项一般指向一个特定的数据。同时由于当链表的节点创建过多则导致系统内存分配操作过多,随着不停的分配释放节点,容易造成大量的内存碎片,导致系统不便于运行,这在系统运行上是需要尽力避免的。同时由于链表节点过多,导致检索数据的速度急剧下降,运行效率较差。因此当数据量较大则使用链表将十分不可取。同时由于普通数组具有较大的局限性,必须在系统初始化或函数初始化时首先进行分配,不能动态的进行分配和释放,其灵活性很差并且会导致内存开销较大。而现有技术中的动态分配内存虽然能够解决普通数组的缺点,在使用时动态的分配使用,减少了系统内存的开销,扩展了普通数组的灵活性,但是当这种动态分配的内存比较多时则非常不便于维护。-->
技术实现思路
:本专利技术所要解决 ...
【技术保护点】
一种快速检索数据的链表实现方法,其特征在于:将链表中的每一个节点的数据项都指向一个数组空间,在初始化时指定节点的数据项指向数组的类型;在初始化时指定或默认每一个节点的数据项指向的数组的元素个数并设定每个元素的字节数,数据项指向的数组中的每个元素都具备一个唯一的索引号;链表可以为单向链表或双向链表;数组可以是动态分配的数组或指定的数组,整个链表中的数据为排序存放。
【技术特征摘要】
1. 一种快速检索数据的链表实现方法,其特征在于:将链表中的每一个节点的数据项都指向一个数组空间,在初始化时指定节点的数据项指向数组的类型;在初始化时指定或默认每一个节点的数据项指向的数组的元素个数并设定每个元素的字节数,数据项指向的数组中的每个元素都具备一个唯一的索引号;链表可以为单向链表或双向链表;数组可以是动态分配的数组或指定的数组,整个链表中的数据为排序存放。2. 按照权利要求1所述的一种快速检索数据的链表实现方法,其特征在于:链表为双向链表,链表中的每一个节点的数据项都指向一个指定的动态分配的一维数组空间,通过指定该节点数据指向的数组元素个数,同时动态的增加该链表的节点个数来实现动态数组链表。3. 按照权利要求2所述的一种快速检索数据的链表实现方法,其特征在于:所述动态数组链表新增数据实现方法如下:首先判断动态链表是否有节点;如果没有节点则分配一个新节点,并分配动态数组的元素个数乘以每个元素的字节数的内存空间来作为新节点的数据区,然后将新增的数据复制到该节点的第一个元素中;如果有节点则判断最后节点的元素是否已经用完,是则重新分配一个新节点和该节点的数据区,然后利用排序查找方法获取要新增的数据应该存放的位置,将新增的数...
【专利技术属性】
技术研发人员:蔡向东,袁仁翔,王文玲,
申请(专利权)人:上海新跃仪表厂,
类型:发明
国别省市:31[中国|上海]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。