[发明专利]一种快速检索数据的链表实现方法有效
申请号: | 200710038679.3 | 申请日: | 2007-03-29 |
公开(公告)号: | CN101276334A | 公开(公告)日: | 2008-10-01 |
发明(设计)人: | 蔡向东;袁仁翔;王文玲 | 申请(专利权)人: | 上海新跃仪表厂 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海航天局专利中心 | 代理人: | 张绪成 |
地址: | 20023*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 快速 检索 数据 实现 方法 | ||
1. 一种快速检索数据的链表实现方法,其特征在于:将链表中的每一个节点的数据项都指向一个数组空间,在初始化时指定节点的数据项指向数组的类型;在初始化时指定或默认每一个节点的数据项指向的数组的元素个数并设定每个元素的字节数,数据项指向的数组中的每个元素都具备一个唯一的索引号;链表可以为单向链表或双向链表;数组可以是动态分配的数组或指定的数组,整个链表中的数据为排序存放。
2. 按照权利要求1所述的一种快速检索数据的链表实现方法,其特征在于:链表为双向链表,链表中的每一个节点的数据项都指向一个指定的动态分配的一维数组空间,通过指定该节点数据指向的数组元素个数,同时动态的增加该链表的节点个数来实现动态数组链表。
3. 按照权利要求2所述的一种快速检索数据的链表实现方法,其特征在于:
所述动态数组链表新增数据实现方法如下:
首先判断动态链表是否有节点;如果没有节点则分配一个新节点,并分配动态数组的元素个数乘以每个元素的字节数的内存空间来作为新节点的数据区,然后将新增的数据复制到该节点的第一个元素中;如果有节点则判断最后节点的元素是否已经用完,是则重新分配一个新节点和该节点的数据区,然后利用排序查找方法获取要新增的数据应该存放的位置,将新增的数据插入到该位置并将该位置后的数据往后移动一个数据位置;如果最后节点的元素还没有使用完则也利用排序查找方法获取要新增的数据应该存放的位置,然后将新增的数据插入到该位置并将该位置后的数据往后移动一个数据位置;
所述动态数组链表删除数据实现方法如下:如果要删除一个节点中的一个元素则将该元素以后的数据都往前移一个位置,如果该元素是最后节点中唯一一个具有数据的元素则将该节点和数据区删除;
所述动态数组链表修改数据实现方法如下:根据利用排序查找方法获取修改后的数据应该存放的位置,比较新位置和老位置,如果大则将新老位置之间的数据前移一个位置,如果小则将新老位置之间的数据后移一个位置,如果相等则不需要移动;然后将修改后的新值放到新位置中;
所述动态数组链表获取指定位置数据实现方法如下:根据位置索引号,判断该索引号位于哪个节点上的哪个元素,从而直接将对应位置的数据读出;
所述动态数组链表查找数据实现方法如下:根据要查找的数据,利用排序查找方法将对应的节点元素找到;
所述动态数组链表清空节点实现方法如下:一个节点一个节点的将节点和对应的数据区分配的空间释放。
4. 按照权利要求3所述的一种快速检索数据的链表实现方法,其特征在于:所述排序查找方法可以是二分法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海新跃仪表厂,未经上海新跃仪表厂许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710038679.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种简易碎肉机
- 下一篇:上吸式生物质气化机专用压块
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置