【技术实现步骤摘要】
本申请涉及存储
,尤其涉及一种链的管理方法及物理设备。
技术介绍
线性表的链式存储结构的特点是用一组存储单元存储线性表的数据元素,而这组存储单元可以是连续的,也可以是不连续的。所述线性表又称为链表。为了表示每个数据元素ai与其直接后继数据元素ai+1之间的逻辑关系,因此存储该数据元素ai的存储单元还需要存储指示ai直接后继数据元素ai+1的存储位置(又称为指针)。该存储单元中存储的数据元素ai和指针这两部分信息组成数据元素ai的结点,该存储单元中存储数据元素ai的域称为数据域,存储指针的域称为指针域。n个结点(ai(1≤i≤n)的结点)链结成一条链(a1,a2,…an),一个链表中的包含多条链。链表是存储数据的结点的集合,这些结点通过指针链接起来,构成队列。链表保存在存储器后,还需要专用存储器保存所述链表中每条链的管理信息。其中,所述专用存储器又称为管理信息存储器,任意一条链的管理信息包含指示该链的队头(首个结点)的存储位置的头指针和指示该链的队尾(最后一个结点)的存储位置的尾指针,以及该链的长度(该链中包含的结点的个数)等信息。存储器所属的物理设备可以对所述存储器中的链表的一条链中的结点进行处理,例如,入队操作,即所述物理设备将新结点加入到所述链的队尾;出队操作,即所述物理设备将所述链中的队头取出结点。传统地,所述物理设备在一个时钟周期内的所述链入队操作中,对所述链的管理信息进行处理的步骤包括:所述物理设备获取所述链的原长度;在所述原长度为0时,所述物理设备同时修改所述链的头指针和尾指针;或者,在所述原长度不为0时,所述物理设备只修改所述链的尾指 ...
【技术保护点】
一种链的管理方法,其特征在于,所述方法应用于具有第一存储器、第二存储器的物理设备,所述第一存储器用于保存链表包含的多条链中每条链的尾指针,所述第二存储器用于保存每条链的头指针,所述物理设备具有在一个时钟周期内实现对第一链的入队处理和对第二链的出队处理的能力,所述第一链和所述第二链均为所述多条链中的一条链,所述方法包括:在所述物理设备对所述第一链进行入队处理的情况下,当所述第一链在入队处理前不为空时,所述物理设备修改所述第一存储器中所述第一链的第一尾指针,使修改后的所述第一尾指针指向在入队处理后的所述第一链中最后一个结点所在的存储位置;在所述物理设备对所述第二链进行出队处理的情况下,当所述第二链在出队处理后不为空时,所述物理设备修改所述第二存储器中所述第二链的第二头指针,使修改后的所述第二头指针指向在出队处理后的所述第二链中首个结点所在的存储位置。
【技术特征摘要】
1.一种链的管理方法,其特征在于,所述方法应用于具有第一存储器、第二存储器的物理设备,所述第一存储器用于保存链表包含的多条链中每条链的尾指针,所述第二存储器用于保存每条链的头指针,所述物理设备具有在一个时钟周期内实现对第一链的入队处理和对第二链的出队处理的能力,所述第一链和所述第二链均为所述多条链中的一条链,所述方法包括:在所述物理设备对所述第一链进行入队处理的情况下,当所述第一链在入队处理前不为空时,所述物理设备修改所述第一存储器中所述第一链的第一尾指针,使修改后的所述第一尾指针指向在入队处理后的所述第一链中最后一个结点所在的存储位置;在所述物理设备对所述第二链进行出队处理的情况下,当所述第二链在出队处理后不为空时,所述物理设备修改所述第二存储器中所述第二链的第二头指针,使修改后的所述第二头指针指向在出队处理后的所述第二链中首个结点所在的存储位置。2.如权利要求1所述的方法,其特征在于,所述第一存储器还保存有每条链的第一状态标识;所述第二存储器还保存有每条链的第二状态标识;所述物理设备还具有第三存储器,所述第三存储器用于保存每条链的第三状态标识,其中,任意一条链的第一状态标识和第二状态标识相同,所述链的第一状态标识和第三状态标识组合用于指示所述链是否为空,且所述链的第二状态标识和所述第三状态标识组合用于指示所述链是否为空;在所述物理设备对所述第一链进行入队处理的情况下,所述方法还包括:所述物理设备确定所述第一链在入队处理前是否为空,具体包括:所述物理设备分别从所述第一存储器和所述第三存储器中读取所述第一链的第一状态标识和第三状态标识;所述物理设备根据所述第一链的所述第一状态标识和所述第三状态标识,确定所述第一链在入队处理前是否为空。3.如权利要求2所述的方法,其特征在于,在所述物理设备对所述第二链进行出队处理的情况下,所述方法还包括:当所述第二链在出队处理后为空时,所述物理设备根据所述第二存储器中所述第二链的第二状态标识,修改所述第三存储器中所述第二链的第三状态标识,使所述第二链的所述第二状态标识和修改后的所述第三状态标识组合指示出队处理后的所述第二链为空。4.如权利要求2或3所述的方法,其特征在于,在所述物理设备对所述第一链进行入队处理的情况下,所述方法还包括:所述物理设备确定所述第一链在入队处理前为空,所述物理设备执行以下操作:修改所述第一存储器中所述第一链的所述第一状态标识,使所述第一链的所述第三状态标识与修改后的所述第一状态标识组合指示入队处理后的所述第一链不为空;修改所述第一存储器中所述第一链的所述第一尾指针,使修改后的所述第一尾指针指向在入队处理后的所述第一链中最后一个结点所在的存储位置;修改所述第二存储器中所述第一链的第二状态标识,使修改后的所述第一链的第二状态标识与修改后的所述第一链的所述第一状态标识相同;修改所述第二存储器中所述第一链的第一头指针,使修改后的所述第一头指针指向在入队处理后的所述第一链中首个结点所在的存储位置。5.如权利要求4所述的方法,其特征在于,所述第一存储器还保存有每条链的长度;在所述物理设备对所述第一链进行入队处理的情况下,当所述第一链在入队处理前不为空时,所述方法还包括:所述物理设备从所述第一存储器中读取所述第一链的第一长度;并根据所述第一长度和入队的结点总数,得到新的第一长度,以及将所述第一长度更新到所述第一存储器中;在所述物理设备对所述第一链进行入队处理的情况下,当所述第一链在入队处理前不为空时,所述方法还包括:所述物理设备将入队的结点总数作为所述第一链的第一长度,并将所述第一链的所述第一长度更新到所述第一存储器中;在所述物理设备对所述第二链进行出队处理的情况下,当所述第二链在出队处理后不为空时,所述方法还包括:所述物理设备从所述第一存储器中读取所述第二链的第二长度;并根据所述第二长度和出队的结点总数,得到新的第二长度,以...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。