Поиск максимума

Связные списки цифр

Описание задачи

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

Порядок цифр: от младших к старшим (LSD first). Пример: 1233 -> 2 -> 1 -> NULL.

Задача

Найти самое большое число в массиве списков.

Алгоритм сравнения

  1. Сравнить длины списков (кто длиннее, тот и больше).
  2. Если длины равны — сравнивать цифры, начиная с конца списка (старшие разряды).

Т.к. список односвязный, для доступа к концу удобно использовать рекурсию или временно перевернуть список (если разрешено), или сохранить цифры в массив.

Функция

TITEM * maxOf (TITEM ** x, int nr);
← Вогонская поэзия II Сложение списков →