Сортировка списков.

info52

Guest
Сортировка списков.

Помогите мне пожалуйста. Никак не могу придумать.

Есть 2 массива: М1 и М2. В первом массиве какие-то числа а во втором числа, которые указывают на номер следующей ячейки М1.

13 45 37 68 23 78 72 15
2 4 5 3 6 8 2

И такая задача нужно отсорсировать первый массив переставляя значения второго массива.

Заранее СПАСИБО.
 

_RVK_

Новичок
если ты сортируешь функцией sort то никак, если используешь свой алгритм то в чем ворос?
 

info52

Guest
Да в этом то собственно и вопрос. Я не могу придумать алгоритм!
 

jer

...
это у тебя односвязный список получается.

сортируй как обычный массив, только вместо перестановки элементов, меняй указатели не дергая сами элементы.

ну и выбери подходящий метод сортировки.
 

_RVK_

Новичок
Его не надо придумывать. Есть масса алгоритмов сортировки. Самы простой, пузырковый. Ищи в яндексе.
А зачем тебе выдумывать алгоритм? Есть же функции сортировки?
 

info52

Guest
Но как отсортировать? Ведь я могу идти по списку только в одном направленнии.
 

jer

...
алгоритм такой же как и при сортировки обычного массива, только вместо перестановки двух элементов местами при сортировке обычного массива, ты меняешь указатели местами. + обход делаешь не по индексу массива, а по указателям. вот и вся разница.

-~{}~ 13.10.04 14:21:

Но как отсортировать? Ведь я могу идти по списку только в одном направленнии.
зависит от метода сортировки, для пузырька тебе надо знать только предыдущий элемент (вернее линк на него). запонимай его просто.

либо сначала делай двусвязный список, чтобы можно было легко ходить в обоих направлениях.
 

_RVK_

Новичок
Ведь я могу идти по списку только в одном направленнии
Это еще почему?
И вообще, опиши задачу подробнее, для чего тебе сортировать массив собстенными силами, и для чего тебе второй массив?
 

info52

Guest
Ну наверное пузырьком. Если он самый понятный.
А описывать задачу нечего. Это домашнее задание в институте.
 

jer

...
Ну тем более, раз это еще и в рамках учебы, то давайка сам потрудись. Если что-то не получится - поможем.

Основные моменты тебе описали.
 

info52

Guest
ЗЛОДЕИ! :D Ну ладно! Спасибо и за это. Будем думать!
 
Сверху