Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
UltimateDoker
1 / 1 / 1
Регистрация: 17.03.2015
Сообщений: 114
#1

Сортировка списка по алфавиту - C++

22.11.2015, 15:03. Просмотров 342. Ответов 0
Метки нет (Все метки)

Есть двусвязный список:
C++
1
2
3
4
5
6
7
8
9
10
struct Stud {
    char fam[40];
    int ball[3];
    double sred = 0;
};
struct List {
    Stud man;
    List *next, *prev; // ссылки на соседние узлы
};
typedef List *PList; // тип данных «указатель на узел»
Мне необходимо отсортировать его по-алфавиту. Написал:
C++
1
2
3
4
5
6
7
8
9
10
11
void sort(PList &Head, int n) {
    int i, j;
    for (i = 0; i < n - 1; i++){
        for (j = i + 1; j < n; j++)
            if (strcmp(Head->man.fam, Head->next->man.fam)>0)
            {
                swap(Head);
            }
    Head = Head->next;
}
}
Я понимаю что косяк в неправильном построении циклов, но как сделать правильно, при условии что у меня список, а не массив, не понимаю. Прошу помочь

Добавлено через 25 минут
Починил)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void sort(PList &Head, int n) {
    PList temp = new List;
    PList tek = new List;
    int i, j;
    for (i = 0; i < n - 1; i++){
        tek = Head;
        for (j = i + 1; j < n; j++) {
            temp = tek->next;
            if (strcmp(tek->man.fam, temp->man.fam) > 0)
            {
                swap(tek);
            }
            temp = tek;
            tek = temp->next;
        }
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2015, 15:03     Сортировка списка по алфавиту
Посмотрите здесь:

Из списка фамилий упорядочить их по алфавиту - C++
Из списка фамилий упорядочить их по алфавиту проверить написание большой буквы Добавлено через 5 минут помогите плс...мучаюсь...

Сортировка по алфавиту - C++
Нужно ввести в программу данные о футболисте, отсортировать их по фамилии футболиста(т.е. первой строке таблицы) и вывести на экран....

Сортировка по алфавиту - C++
Здравствуйте! Помогите отсортировать содержимое каталога по алфавиту. В этом каталоге может содержаться и другая папка. Просто я не...

Сортировка по алфавиту - C++
#include &lt;iostream&gt; #include&lt;cstring&gt; using namespace std; int main() { int i,j,s=1,k=0,space=0,n; char str,str1; ...

Сортировка по алфавиту - C++
Нужно отсортировать список студентов за месяцем рождения, Студенты, месяц у которых одинаков - должны быть отсортированы по алфавиту(их...

Сортировка по алфавиту - C++
Не могу сообразить как по алфавиту отсортировать, что нужно изменить? Если можно, то скажите что не так конкретно в этом коде, другой...

Сортировка по алфавиту - C++
Вот программа , там сортировка по нумерации поездов, а нужна по ПУНКТАМ назначения, кто знает поправите, спасибо. ...

Сортировка по алфавиту - C++
Ознакамливаюсь со структурами. Все прекрасно, осталось только отсортировать символьные массивы по алфавиту. Вот мой текст, в комментариях...

Сортировка по алфавиту - C++
Правильные глаголы находятся и все нормально выводится, но сортировка по алфавиту не работает почему-то. В чем ошибка? for...

Сортировка по алфавиту - C++
С клавиатуры ввести автора и название книги и посторить список по алфавиту.

Сортировка по алфавиту - C++
На вход подается некоторое количество описаний книг (автор, название, количество страниц). Отсортировать и вывести в алфавитном порядке по...

сортировка по алфавиту - C++
Задача: Описать структуру с именем PRICE, содержащую следующие поля: название товара; название магазина, в котором продается...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru