| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Сортировка в линейном списке |
| Автор: dark0ut 29.5.2004, 01:29 | ||
У меня есть прога, где мне нужно отсортировать по возрастанию элементы списка. Причем, сортировать нужно не в массиве с последующим составлением списка, а сразу. Т.е. вводишь элемент и проверяешь - если он меньше, то ставишь впереди текущего, если больше, то позади. Моя прога не пашет.
|
| Автор: AndyY 29.5.2004, 10:28 |
| для таких задач я сделал смешанный класс, по сути являющийся самобалансирующимся бинарным деревом, но имеющий интерфейс списка. см. на моем сайте - awin.zip, misc_map.h, _list_map_t. для простоты (или если данные на входе достаточно случайны) балансировку можно убрать - тогда получится банальное бинарное дерево. если среди элементов встречаются совпадающие, то класс нужно модифицировать - от каждого уникалоного элемента вести обычный список (соотв. изменить next() и prev()). |