[发明专利]用于使用数组对来合并有序列表的方法和系统有效
申请号: | 201480027746.X | 申请日: | 2014-05-12 |
公开(公告)号: | CN105264488B | 公开(公告)日: | 2018-04-27 |
发明(设计)人: | J·D·戈德斯汀;B·钱德拉穆里 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F7/32 | 分类号: | G06F7/32;G06F7/24 |
代理公司: | 上海专利商标事务所有限公司31100 | 代理人: | 顾嘉运 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 使用数组对来分多个阶段从多个输入有序列表制定合并有序列表。最初,用输入有序列表来连续填充第一数组。在第一阶段中,将第一和第二输入有序列表合并成第二数组中的第一中间合并列表。每一后续阶段合并从先前阶段产生的先前中间合并列表和第一数组中的下一输入有序列表,以生成下一中间合并列表或者合并有序列表(如果第一数组中不再有输入)。中间合并列表从一个阶段到下一阶段在第一数组和第二数组之间交替。 | ||
搜索关键词: | 使用 数组 合并 有序 列表 | ||
【主权项】:
一种包括合并多个有序列表以形成合并有序列表的动作的方法,所述合并多个有序列表的动作包括:访问多个输入有序列表的动作,包括:访问多个元素的动作;以及使用所述多个元素来制定所述多个输入有序列表的动作;用存储器中的第一数组中的第一多个元素来连续表示第一有序列表和第二有序列表的动作;在所述第一数组中的所述第一有序列表中的第一元素处建立第一输入光标的动作;在所述第一数组中的所述第二有序列表中的第一元素处建立第二输入光标的动作;制定存储器中的第二数组的动作,所述第二数组包括包含数量上与所述第一多个元素相等的第二多个元素的至少一部分;按序将值分配给所述第二多个元素中的各个元素以由此制定所述第一和第二有序列表的第一合并有序列表的动作;所述按序分配动作包括对所述第二多个元素中的第一元素到后续元素中的每一个执行以下动作:将所述第一输入光标指向的元素处的值与所述第二输入光标指向的元素处的值进行比较的动作;如果所述第一输入光标指向的元素处的值相对于所述第二输入光标指向的元素处的值满足排序优先级,则用所述第一输入光标指向的元素处的值来填充所述第二多个元素中的相应元素的动作;以及在所述第一有序列表中还有任何元素的情况下将所述第一输入光标移至所述第一多个元素的所述第一有序列表中的下一元素的动作,并且如果所述第一有序列表中不再有任何元素,则所述第二多个元素中的相应元素是所述第二多个元素中的后续元素,并由此所述方法还包括用所述第二有序列表中的从所述第二输入光标指向的元素开始的任何未经处理的其余元素来进一步填充所述第二多个元素的其余部分的动作;以及如果所述第一输入光标指向的元素处的值相对于所述第二输入光标指向的元素处的值不满足排序优先级,则用所述第二输入光标指向的元素处的值来填充所述第二多个元素中的相应元素的动作;以及在所述第二有序列表中还有任何元素的情况下将所述第二输入光标移至所述第一多个元素的所述第二有序列表中的下一元素的动作,并且如果所述第二有序列表中不再有任何元素,则所述第二多个元素中的相应元素是所述第二多个元素中的后续元素,并由此所述方法还包括用所述第一有序列表中的从所述第一输入光标指向的元素开始的任何未经处理的其余元素来进一步填充所述第二多个元素的其余部分的动作;其中合并所述多个有序列表以形成所述合并有序列表的动作是响应于检测到以下通知的动作而执行的:有序列表流中的超过所述多个有序列表的附加有序列表只包括具有比所述多个有序列表中的任一值更低的排序优先级的值。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201480027746.X/,转载请声明来源钻瓜专利网。
- 同类专利
- 排序分布式输入数据的排序方法和处理系统-201480079048.4
- 马赫什·库马尔·巴赫热;普拉森纳·文卡特斯·拉玛穆尔蒂;安东尼·沃尔斯基 - 华为技术有限公司
- 2014-05-30 - 2019-09-13 - G06F7/32
- 本发明涉及一种用于输入数据进行排序的排序方法(1100),所述排序方法包括:通过将第一进程部署在处理节点(701、702)上,在本地按每处理节点(701、702)对所述分布式输入数据进行排序(1101);在所述处理节点(701、702)的所述本地内存分区上创建(1102)值域块(703、704、713、714)序列;将所述多个已排序列表复制(1103)到所述值域块(703、704、713、714)序列;通过使用所述第二进程,在本地按每处理节点(701、702)对所述值域块(703、704、713、714)的所述元素进行排序(1104);以及相对于值域块的值域从所述值域块(703、704、713、714)序列中按顺序读取(1105)所述已排序元素,以获得所述已排序输入数据。
- 用于使用数组对来合并有序列表的方法和系统-201480027746.X
- J·D·戈德斯汀;B·钱德拉穆里 - 微软技术许可有限责任公司
- 2014-05-12 - 2018-04-27 - G06F7/32
- 使用数组对来分多个阶段从多个输入有序列表制定合并有序列表。最初,用输入有序列表来连续填充第一数组。在第一阶段中,将第一和第二输入有序列表合并成第二数组中的第一中间合并列表。每一后续阶段合并从先前阶段产生的先前中间合并列表和第一数组中的下一输入有序列表,以生成下一中间合并列表或者合并有序列表(如果第一数组中不再有输入)。中间合并列表从一个阶段到下一阶段在第一数组和第二数组之间交替。
- 专利分类