Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 26.02.2017
Сообщений: 14

Сортировка односвязного линейного списка по алфавиту

20.01.2020, 00:05. Показов 4048. Ответов 7

Студворк — интернет-сервис помощи студентам
Всем здравствуйте!
Имеется линейный список. Помогите, пожалуйста, написать сортировку студентов этого списка по фамилии. То есть, в алфавитном порядке.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
struct Student
{
    char lastName[30];             
    char name[30];                        
    char secondName[30];              
    int gruppNum;                              
    int note[5];                            
    void Input(Student &student);          
    Student *Next;                          
};
 
class List
{
    Student *Head;                     
    
    int size;
public:
    List() :Head(NULL) {};          
    ~List();                             
    void DeleteNode(int n);
    void Add(Student &student);             
    void Show(Student *head);                           
    void Pop(int m);
    void Search();
};
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.01.2020, 00:05
Ответы с готовыми решениями:

Спроектировать шаблон класса spisok для реализации односвязного линейного списка. Не работает сортировка
Здравствуйте! Очень нужна помощь в реализации программы. Задание: Спроектировать шаблон класса spisok для реализации односвязного...

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

Проход по элементам односвязного линейного списка
Допустим у меня существует класс линейного односвязного списка. Надо пройти по его элементам и присвоить каждому соответствующее...

7
Заблокирован
20.01.2020, 04:25
Цитата Сообщение от Mrum Посмотреть сообщение
Student *Head;
Цитата Сообщение от Mrum Посмотреть сообщение
void Show(Student *head);
у этого Змея-Горыныча разные головы?
0
0 / 0 / 0
Регистрация: 26.02.2017
Сообщений: 14
20.01.2020, 08:34  [ТС]
На самом деле, нет...
Я экспериментировал и не убрал. Там просто void Show();
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
20.01.2020, 10:17
Цитата Сообщение от Mrum Посмотреть сообщение
Имеется линейный список. Помогите, пожалуйста, написать сортировку студентов этого списка по фамилии. То есть, в алфавитном порядке.
Односвязный список на месте не отсортируешь. В него нужно добавлять в определённую позицию - Очередь с приоритетами, добавление и удаление
Т.е. тебе нужно добавить метод void AddSorted(Student &student);, и скопировать данные в новый список с использованием этого метода
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,532
Записей в блоге: 1
20.01.2020, 11:42
oleg-m1973, с чего бы это? Отсортировать можно всё что угодно. Зачем копипастить чей-то чужой код, если всегда можно легко написать свой собственный? Для такой темы как "списки" времени уйдёт куда больше на разборки в чужом коде, чем на халявное написание своего!
0
0 / 0 / 0
Регистрация: 26.02.2017
Сообщений: 14
20.01.2020, 20:16  [ТС]
Подниму, может, кто откликнется.
Я попробовал по аналогии из oleg-m1973, но, честно, не разобрался в коде.
0
Заблокирован
20.01.2020, 20:35
добавьте функцию нахождения указателя на N-й элемент, пригодится
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
20.01.2020, 20:41
Все знают решение, но никто не хочет писать потому что 1) "напишите все за меня" топик. 2) Списки в приличном обществе не сортируют, так как выходит квадратичная сложность.

Подсказываю - "Сортировка пузырьком". Если два идущих друг за другом элемента идут в не отсортированном порядке, меняете их местами. Повторяете пока есть что менять местами. Если классы писать умеете, то и закодить такой алгоритм должны суметь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.01.2020, 20:41
Помогаю со студенческими работами здесь

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

Удалить из односвязного линейного списка определенный узел
Построить односвязный список из входной последовательности целых чисел. Написать программу, которая удаляет из линейного списка входной...

Найти наименьший элемент односвязного линейного списка
Найти наименьший элемент односвязного линейного списка. Сценарий: обходя список найти минимальное значение поля Data. Прошу помогите, ума...

Задать двумерный массив с помощью линейного односвязного списка
Помогите решить задачу: "Задать двумерный массив с помощью линейного односвязного списка". Может кто знает, буду очень благодарен!

Реализовать стек вещественных чисел на основе односвязного линейного списка
Реализовать стек вещественных чисел на основе односвязного линейного списка написать программу


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru