我有一个包含许多列的表数据,我需要对其进行多次排序。
e、 g.列包含行#、名称、容差、时间。。。
1, Peter, 2500, 2
2, Steve, 500, 1
3, Peter, 2500, 1
4, Peter, 2600, 2
5, Peter, 2800, 2
第一次按名称升序排序,结果为:
1, Peter, 2500, 2
3, Peter, 2500, 1
4, Peter, 2600, 2
5, Peter, 2800, 2
2, Steve, 500, 1
按津贴降序进行第二次排序,结果为:
5, Peter, 2800, 2
4, Peter, 2600, 2
1, Peter, 2500, 2
3, Peter, 2500, 1
2, Steve, 500, 1
第3次按次数升序排序,结果为:
5, Peter, 2800, 2
4, Peter, 2600, 2
3, Peter, 2500, 1
1, Peter, 2500, 2
2, Steve, 500, 1
由于某些原因,我们使用SortedList进行第一次排序,使用IComparer将项目添加到SortedList中,以允许复制密钥。
第一次按名称升序排序后,sortedList为:
["Peter"] | 1
["Peter"] | 3
["Peter"] | 4
["Peter"] | 5
["Steve"] | 2
第一次排序已完成,但如何进行第二次和第三次排序。。。是否基于此“主”排序列表进行排序?
我的想法是,第二种排序发生在具有相同键的邻居中,例如“Peter”。表示只需对第二次排序的第#1,3,4,5行重新排序。
但我想不出最好的办法。