一种数组规整方法、装置、终端及可读介质制造方法及图纸

技术编号:20484696 阅读:17 留言:0更新日期:2019-03-02 18:54
本发明专利技术实施例公开了一种数组规整方法、装置、终端及可读介质,其中该方法包括:根据接收的规整指令确定子线程数量,根据子线程数量开辟子线程以及对目标数组的位置区间进行划分并排序;在各子线程中对各位置区间进行扫描,将扫描位置不为空的数据信息存储至子线程对应的扫描数组中,按位置区间的排序将扫描数组内数据信息添加至链表对象中;当各位置区间扫描结束时,将链表对象中的数据信息存储至临时数组中;当链表对象中全部数据信息存储至临时数组中时,将临时数组的数据信息回传至目标组数中。本发明专利技术实施例提供的一种数组规整方法、装置、终端及可读介质,实现了数组规整,减少了数组规整耗时,提高了数组规整效率。

【技术实现步骤摘要】
一种数组规整方法、装置、终端及可读介质
本专利技术实施例涉及计算机技术,尤其涉及一种数组规整方法、装置、终端及可读介质。
技术介绍
当Android终端中数组内数据为有序数据时,常需要将数组进行规整化处理,以方便对有序数据进行读取等操作。其中,规整化处理可以理解为将有序数据按数组的索引序号为0、1、2...n的顺序依次存储至数组,保证有序数据间没有空数据,且放置在数组前端,空余位置位于数组后端的处理操作。目前,常用的数组规整方法为,对数组内数据进行一一迁移。这种大批量数据一一迁移的操作耗时较长,速度较慢,从而导致数组规整效率较低。
技术实现思路
有鉴于此,本专利技术实施例提供了一种数组规整方法、装置、终端及可读介质,减少了数组规整耗时,提高了数组规整效率。第一方面,本专利技术实施例提供了一种数组规整方法,包括:接收规整指令,根据所述规整指令确定子线程数量,根据所述子线程数量开辟子线程,以及根据所述子线程数量对目标数组的位置区间进行划分并排序;在各子线程中对各位置区间进行扫描,获取扫描位置的数据信息,当判断所述数据信息不为空时,将所述数据信息存储至子线程对应的扫描数组中,按位置区间的排序将扫描数组内数据信息添加至链表对象中;当各位置区间扫描结束时,依次获取链表对象中的数据信息,并将获取到的链表对象中的数据信息存储至临时数组中,其中所述临时数组的数组长度与所述目标数组的数组长度相同;当链表对象中全部数据信息存储至临时数组中时,将临时数组的数据信息回传至目标组数中,并在数据信息回传结束时将临时数组的数据信息清空。可选的,所述根据所述子线程数量开辟子线程,包括:调用子线程开辟方法开辟所述子线程数量个子线程。可选的,所述根据所述子线程数量对目标数组的位置区间进行划分并排序,包括:将目标数组划分为所述子线程数量个位置区间,并根据目标数组的索引序号将各位置区间进行排序。可选的,在所述根据所述子线程数量开辟子线程之后,还包括:对所述子线程设置优先级;相应的,所述在各子线程中对各位置区间进行扫描,包括:确定子线程的优先级与位置区间的排序的对应关系;根据所述对应关系,在各子线程中对相对应的位置区间进行扫描。可选的,在所述在各子线程中对相对应的位置区间进行扫描之后,还包括:若完成位置区间扫描的子线程的优先级低于未完成位置区间扫描的子线程的优先级,则将未完成位置区间扫描的子线程的未扫描位置区间分配至完成位置区间扫描的子线程中进行扫描。可选的,所述依次获取链表对象中的数据信息,并将获取到的链表对象中的数据信息存储至临时数组中,包括:调用链表对象的获取方法依次获取链表对象中的数据信息;调用数组存储方法将获取到的链表对象中的数据信息存储至临时数组中。可选的,在所述接收规整指令之后,包括:调用链表定义方法定义链表对象;判断剩余内存是否满足定义临时数组需求,并在剩余内存满足定义临时数组需求时,调用数组定义方法定义临时数组;相应的,当各位置区间描结束时,若临时数组已定义,则依次获取链表对象中的数据信息,并将获取到的链表对象中的数据信息存储至临时数组中;当各位置区间结束时,若临时数组未定义,则当临时数组成功定义时,依次获取链表对象中的数据信息,并将获取到的链表对象中的数据信息存储至临时数组中。第二方面,本专利技术实施例提供了一种数组规整装置,包括:位置区间划分模块,用于接收规整指令,根据所述规整指令确定子线程数量,根据所述子线程数量开辟子线程,以及根据所述子线程数量对目标数组的位置区间进行划分并排序;位置区间扫描模块,用于在各子线程中对各位置区间进行扫描,获取扫描位置的数据信息,当判断所述数据信息不为空时,将所述数据信息存储至子线程对应的扫描数组中,按位置区间的排序将扫描数组内数据信息添加至链表对象中;数据存储至临时数组模块,用于当各位置区间扫描结束时,依次获取链表对象中的数据信息,并将获取到的链表对象中的数据信息存储至临时数组中,其中所述临时数组的数组长度与所述目标数组的数组长度相同;数据回传模块,用于当链表对象中全部数据信息存储至临时数组中时,将临时数组的数据信息回传至目标组数中,并在数据信息回传结束时将临时数组的数据信息清空。第三方面,本专利技术实施例提供了一种终端,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本专利技术任一实施例所述的数组规整方法。第四方面,本专利技术实施例提供了一种可读介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术任一实施例所述的数组规整方法。本专利技术实施例提供的一种数组规整方法、装置、终端及可读介质,根据接收的规整指令确定子线程数量,根据子线程数量开辟子线程以及对目标数组的位置区间进行划分并排序;在各子线程中对各位置区间进行扫描,将扫描位置不为空的数据信息存储至子线程对应的扫描数组中,按位置区间的排序将扫描数组内数据信息添加至链表对象中;当各位置区间扫描结束时,将链表对象中的数据信息存储至临时数组中;当链表对象中全部数据信息存储至临时数组中时,将临时数组的数据信息回传至目标组数中。通过多个子线程同时扫描目标数组,加快了扫描效率;利用链表对象高效的存储速率及临时数组的快速回传,减少了数组规整耗时,提高了数组规整效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例一提供的一种数组规整方法流程图;图2是本专利技术实施例二提供的一种数组规整装置结构示意图;图3是本专利技术实施例三提供的一种终端的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,以下将参照本专利技术实施例中的附图,通过实施方式清楚、完整地描述本专利技术的技术方案,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一图1是本专利技术实施例一提供的一种数组规整方法流程图,本实施例可适用于数组规整的情况,该方法可以由终端实现,具体可通过终端中的软件和/或硬件来实施。参见图1,该数组规整方法包括如下步骤:S110、接收规整指令,根据规整指令确定子线程数量,根据子线程数量开辟子线程,以及根据子线程数量对目标数组的位置区间进行划分并排序。其中,规整指令可以是用户通过按压终端物理按键或终端屏幕上虚拟按键所生成的指令。其中,规整指令还可以是底层程序自动检测到触发条件后生成的,例如可以是在检测到目标数组内存储的数据之间存在空数据时,触发生成规整指令,还可以是在检测到目标数组内存储有数据,但目标数组的起始位置为空时,触发生成规整指令。其中,子线程数量可以是预先设定的固定值,例如可以是2、3或5,且对具体数值不作限定;也可以是根据目标数组的数组长度、终端处理器处理速度和/或其他一些因素设定,例如可以是目标数组的数组长度越长,则子线程数量越多,还可以是处理器运行速度越慢,子线程数量越多。其中,根据子线程数量对目标数组的位置区间进行划分,可以本文档来自技高网...

【技术保护点】
1.一种数组规整方法,其特征在于,包括:接收规整指令,根据所述规整指令确定子线程数量,根据所述子线程数量开辟子线程,以及根据所述子线程数量对目标数组的位置区间进行划分并排序;在各子线程中对各位置区间进行扫描,获取扫描位置的数据信息,当判断所述数据信息不为空时,将所述数据信息存储至子线程对应的扫描数组中,按位置区间的排序将扫描数组内数据信息添加至链表对象中;当各位置区间扫描结束时,依次获取链表对象中的数据信息,并将获取到的链表对象中的数据信息存储至临时数组中,其中所述临时数组的数组长度与所述目标数组的数组长度相同;当链表对象中全部数据信息存储至临时数组中时,将临时数组的数据信息回传至目标组数中,并在数据信息回传结束时将临时数组的数据信息清空。

【技术特征摘要】
1.一种数组规整方法,其特征在于,包括:接收规整指令,根据所述规整指令确定子线程数量,根据所述子线程数量开辟子线程,以及根据所述子线程数量对目标数组的位置区间进行划分并排序;在各子线程中对各位置区间进行扫描,获取扫描位置的数据信息,当判断所述数据信息不为空时,将所述数据信息存储至子线程对应的扫描数组中,按位置区间的排序将扫描数组内数据信息添加至链表对象中;当各位置区间扫描结束时,依次获取链表对象中的数据信息,并将获取到的链表对象中的数据信息存储至临时数组中,其中所述临时数组的数组长度与所述目标数组的数组长度相同;当链表对象中全部数据信息存储至临时数组中时,将临时数组的数据信息回传至目标组数中,并在数据信息回传结束时将临时数组的数据信息清空。2.根据权利要求1所述的方法,其特征在于,所述根据所述子线程数量开辟子线程,包括:调用子线程开辟方法开辟所述子线程数量个子线程。3.根据权利要求1所述的方法,其特征在于,所述根据所述子线程数量对目标数组的位置区间进行划分并排序,包括:将目标数组划分为所述子线程数量个位置区间,并根据目标数组的索引序号将各位置区间进行排序。4.根据权利要求1所述的方法,其特征在于,在所述根据所述子线程数量开辟子线程之后,还包括:对所述子线程设置优先级;相应的,所述在各子线程中对各位置区间进行扫描,包括:确定子线程的优先级与位置区间的排序的对应关系;根据所述对应关系,在各子线程中对相对应的位置区间进行扫描。5.根据权利要求4所述的方法,其特征在于,在所述在各子线程中对相对应的位置区间进行扫描之后,还包括:若完成位置区间扫描的子线程的优先级低于未完成位置区间扫描的子线程的优先级,则将未完成位置区间扫描的子线程的未扫描位置区间分配至完成位置区间扫描的子线程中进行扫描。6.根据权利要求1所述的方法,其特征在于,所述依次获取链表对象中的数据信息,并将获取到的链表对象中的数据信息存储至临时数组中,包括:调用链表对象...

【专利技术属性】
技术研发人员:张磊
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1