Сортировать имена по алфавиту в C - PullRequest
2 голосов
/ 18 февраля 2012

У меня есть структура C, которая содержит контактную информацию о человеке, такую ​​как имя, номер телефона и т. Д. Структуры "contact" содержатся в связанном списке. Мне нужно вставить узлы таким образом, чтобы связанный список сортировался в алфавитном (восходящем) порядке.

Есть ли в C встроенная функция сортировки, которую я могу вызвать? Или я должен написать свою собственную функцию сортировки? Если есть встроенная функция, могу ли я получить пример того, как я вызову ее для структуры в связанном списке?

Ответы [ 2 ]

3 голосов
/ 18 февраля 2012

Не существует стандартного метода сортировки для «списка».Ближайшим является qsort (который действительно может сортировать определяемые пользователем объекты), но он работает только с непрерывными диапазонами (массивами и т. П.).

Возможно, вам придется реализовать собственную процедуру сортировки или использовать имассив вместо списка.

0 голосов
/ 18 февраля 2012

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

http://www.c.happycodings.com/Sorting_Searching/code8.html

Сосредоточьтесь на вызове insert ()Я не скомпилировал этот код, чтобы проверить его, но я перечитал его, и он мне кажется правильным.Он показывает, как искать список и настройки указателя.Вы должны быть в состоянии решить вашу проблему с помощью этого кода.

...