发明名称 动态内存分配中的环形数据管理器及环形数据管理方法
摘要 本发明提供了一种动态内存分配中的环形数据管理器,所述环形数据为首尾相接的双向链表;包括数组创建模块以及元素定位模块;其中:所述数组创建模块用于创建与所述双向链表对应的闭环动态数组;所述闭环动态数组包括N个数据项且每一数据项包括一个指针,该闭环动态数组中N个数据项的指针分别指向所述双向链表中的不同元素,且相邻数据项的指针指向的双向链表中的元素的序号间隔为xN;所述元素定位模块,用于通过所述闭环动态数组定位双向链表中的元素。本发明还提供了一种对应的方法。本发明通过在环形数据的双向链表的基础上引入闭环动态数组,从而在大规模问题上,使基本操作时具有出色的效率。
申请公布号 CN103064881A 申请公布日期 2013.04.24
申请号 CN201210508891.2 申请日期 2012.12.03
申请人 深圳市汇川控制技术有限公司;深圳市汇川技术股份有限公司;苏州汇川技术有限公司 发明人 丘锋伟
分类号 G06F17/30(2006.01)I;G06F12/02(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 深圳市顺天达专利商标代理有限公司 44217 代理人 陆军
主权项 一种动态内存分配中的环形数据管理器,所述环形数据为首尾相接的双向链表;其特征在于:包括数组创建模块以及元素定位模块;其中:所述数组创建模块用于创建与所述双向链表对应的闭环动态数组;所述闭环动态数组包括N个数据项且每一数据项包括一个指针,N为sqrt(n+1)的整数部分,n为双向链表中元素的数量,该闭环动态数组中N个数据项的指针分别指向所述双向链表中的不同元素,且相邻数据项的指针指向的双向链表中的元素的序号间隔为xN,其中xN=max(N, n/N);所述元素定位模块,用于通过所述闭环动态数组定位双向链表中的元素。
地址 518000 广东省深圳市福田区滨河路上沙创新科技园16栋3楼306