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

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

20.01.2020, 00:05. Показов 4025. Ответов 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,531
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru