2015-07-17 3 views
0

У меня есть следующие проблемы и хотел бы видеть, если кто-то может сказать мне, если я нахожусь на правильном пути с моим подходом:Запуска на два слияния linkedLists, которые связаны

Я хочу сделать «катящееся окно «вид вычислений по двум связанным спискам и для этого мне нужно, чтобы они сортировались по величине. Если у меня есть только один связанный список, запись соответствующего слияния не является проблемой. Тем не менее, теперь мне интересно, как мне идти по тому факту, что у меня есть два связанных списка, в которых я хочу, чтобы соответствующие элементы из списка 1 и списка 2 перемещались вместе по мере сортировки по величине списка 1. Если это не так, совершенно ясно, это то, что я имею в виду:

В списке 1, я хочу сделать сортировку по величине, поэтому в основном просто переставить указатели. Однако, когда я перемещаю элемент «n» в одном списке, мне также нужно переместить соответствующий элемент «n» в другой список в ту же позицию, что и элемент из другого.

Будет ли мой подход использования mergesort для этого правильным путем, или кто-нибудь знает лучший подход? Мне сложно представить, как я буду переупорядочивать второй список, сливая первый, поскольку второй список не обязательно будет сортироваться по величине больше, и мне нужно, чтобы отдельные элементы соответствовали друг другу. Спасибо!

Марк

+2

Вы выбрали неверную структуру данных для задания, perhsps - самый худший из возможных. Подумайте об использовании чего-то другого, кроме двух связанных списков. –

ответ

2

Просто создать список пар соответствующих элементов, а затем отсортировать список по первому элементу пары.