我有以下问题,想看看是否有人可以通过我的方法告诉我我是否走在正确的轨道上:
我想在两个链接列表上进行“滚动窗口”计算,为此,我需要按大小对它们进行排序。如果我只有一个链表,编写相应的mergesort不是问题。但是,现在我想知道我应该如何处理这样一个事实,即我有两个链表,我希望列表1和列表2中的相应元素一起移动,因为我按列表1的大小排序。如果不是完全清楚,这就是我的意思:
在列表1中,我想按幅度排序,所以基本上只需重新排列指针。然而,每当我在一个列表中移动元素“n”时,我还需要将另一个列表中的相应元素“n”移动到与另一个列表中的元素相同的位置。
我使用mergesort的方法是正确的方法还是有人知道更好的方法?我很难想象如何在合并第一个列表时重新排序第二个列表,因为第二个列表不一定按大小排序,我需要各个元素相互对应。 谢谢!
马克
答案 0 :(得分:2)
只需创建一对对应元素的列表,然后按该对的第一个元素对列表进行排序。