Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

Есть двусвязный список:
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;
        }
}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2015, 15:03
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сортировка списка по алфавиту (C++):

Сортировка списка по алфавиту - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;vector&gt; #include &lt;stdlib.h&gt; #include &lt;iomanip&gt; using namespace std; ...

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

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

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

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

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

1
dim_a0_rar
0 / 0 / 0
Регистрация: 04.12.2016
Сообщений: 1
18.03.2018, 18:34 #2
UltimateDoker, ты не мог бы скинуть фунцыю Swap і Main
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2018, 18:34
Привет! Вот еще темы с ответами:

Сортировка по алфавиту - 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++
Доброго времени суток. Имеется задача: Описать структуру с именем ORDER, содержащую следующие поля: *расчетный счет плательщика ...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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