我在Lua中实现了一个LINQ克隆,但这里并没有太多相关性,而且我已经完成了大部分功能(可枚举/可查询,而不是预编译器),但是无法想到实现OrderBy的ThenBy的智能方法.
目前我排序一次,然后放入新列表,然后对这些子列表进行排序,最后再次合并结果,但这看起来非常浪费和不优雅,我相信有人已经想出了一个聪明的方法来做到这一点(更好的算法),但我不知道它是什么.关于如何以有效的方式实现OrderBy/Thenby的任何线索?
注意:语言和语言结构在这里是不相关的,我正在寻找广义算法,就像说二元排序可以用任何语言完成.
编辑:目前我正在研究LINQ to Object,所以任何想法如何特别完成都会很棒.我猜OrberBy/ThenBy是2个函数调用,不是一个,但我可能错了.