С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
6 / 6 / 3
Регистрация: 28.06.2010
Сообщений: 91
1

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

26.05.2013, 11:31. Показов 1115. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Народ нужна помощь
Элементы списка представлены следующим образом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
class Node
{
public:
    char *name;
    Node *next;
    Node()
    {
        this->name = new char[255];
        this->next = NULL;
    }
    ~Node(){}
}
Поле name может достигать длинны 255 элементов (что собственно и видно).
Задача: реализовать быструю сортировку элементов списка. (понятно, что неполным перебором символов в полях name).
Признателен за любые мысли.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2013, 11:31
Ответы с готовыми решениями:

"Сортировка двусвязного списка путем исключения элемента с минимальным значением и включения его в начало нового списка
Здравствуйте! Возникла проблема с программой. Тема: "Сортировка двусвязного списка путем исключения...

Сортировка списка
Помогите пожалуйста, нужна сортировка методом вставок односвязанного кольцевого списка, не пойму...

Сортировка списка
помогите сделать сортировку по возрасту, а то ничего не выходит #include <iostream> #include...

Сортировка списка
Люди помогите плиз я уже не могу!! надо сортировать список!!! Останьные недоработки тоже можете...

2
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
26.05.2013, 12:33 2
Быструю сортировку как "сортировка за O(N*log N)" или быструю сортировку как "сортировка Хоара"?
В любом случае сортировка списков должна использовать высокую мобильность элементов списка, чтобы компенсировать последовательный доступ, что сразу наводит на мысль о сортировке слиянием (см. соответствующую статью в википедии). Для сравнения строк можно использовать функцию strcmp, она лишних тактов не украдёт.
1
~ Эврика! ~
1257 / 1006 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
26.05.2013, 12:55 3
Связные списки сортируются мердж-сортом. Точка.

Квик-сорт и мердж-сорт основаны на одном и том же инварианте, просто заходят к проблеме с разных сторон.

Квик-сорт не требует O(N) памяти сверху и может работать in-place, но чтобы это использовать, необходим быстрый произвольный доступ к элементам. Это отлично подходит для сортировки массивов, но ужасно работает на списках, где доступ к произвольному элементу выполняется за O(N).

Мердж-сорт требует больше лишней памяти на хранение частично отсортированных элементов, но существенная часть этой памяти уже есть в самих элементах связных списков, и это позволяет обойтись последовательным доступом к частично отсортированным кускам. Это отлично работает на связных списках, но ужасно для массивов, которые надо будет постоянно перемещать и перевыделять.
1
26.05.2013, 12:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2013, 12:55
Помогаю со студенческими работами здесь

Сортировка списка
есть список list<Student> g (содержит n-ое количество экземпляров класса). Нужно сделать отдельную...

Сортировка списка
Всем привет задание такое Разработать программу работы со связным списком сеансов в кинотеатре....

Сортировка списка
Приветствую всех! Есть небольшая проблема: не могу понять, как создать сортировку в алфавитном...

Сортировка списка
Здравствуйте, не совсем понимаю как должна быть реализована сортировка вставками в деке. Что...

Сортировка списка
Нужно отсортировать списком класс Flight. class Flight { public: char flight_ID; ...

Сортировка списка
Во время проведения олимпиады каждый из участников получил свой идентификационный номер –...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru