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

  • Автор темы Автор темы info52
  • Дата начала Дата начала

info52

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

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

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

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

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

Заранее СПАСИБО.
 
если ты сортируешь функцией sort то никак, если используешь свой алгритм то в чем ворос?
 
Да в этом то собственно и вопрос. Я не могу придумать алгоритм!
 
это у тебя односвязный список получается.

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

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

-~{}~ 13.10.04 14:21:

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

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

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