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

Сортировка деревьев - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Скопировать из файла Ф1 в файл ф2 все строки http://www.cyberforum.ru/cpp-beginners/thread1173517.html
Скопировать из файла Ф1 в файл Ф2 все строки, Начинающиеся с буквы «А» и заканчивающиеся на букву «С» расположенные между строками с номерами Н1 и Н2. Спасибо
C++ Поразрядные операции Запрограммировать изменение четырехбайтного числа (unsigned int) так, чтобы байт последовательно заполнялся сначала единицами, а затем – нулями слева направо. http://www.cyberforum.ru/cpp-beginners/thread1173503.html
C++ Найти самое длинное слово в строке
Дана строка, в которой содержится осмысленное текстовое сообщение. Слова сообщения разделяются пробелами и знаками препинания.Найти самое длинное слово сообщения
Дружественная функция не имеет доступа к приватным членам C++
Добрый день. Возникла такая проблема: при обращении в теле дружественной функции класса к его приватному члену возникают ошибки " 'startPoint' was not declared in this scope " и " 'm_int_function' was not declared in this scope ". Собственно, вопрос в том почему данная функция не имеет доступ к этим членам и как это можно исправить. struct threadFuncArg { double low; double...
C++ Дан целочисленный двумерный массив. В каждой строке выбрать максимальный и минимальный элемент http://www.cyberforum.ru/cpp-beginners/thread1173492.html
Дан целочисленный двумерный массив, в каждой строке выбрать максимальный и минимальный элемент. Записать минимальный на основную диагональ, максимальный на противоположную диагональ.
C++ Пользуясь только умножением, получить Пользуясь только умножением, получить a2 a5 a17 за 6 операций подробнее

Показать сообщение отдельно
Micro
42 / 42 / 1
Регистрация: 12.11.2011
Сообщений: 429

Сортировка деревьев - C++

12.05.2014, 18:26. Просмотров 127. Ответов 0
Метки (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
struct student {
    string name, surname;
    string ngr;
    int dd,mm,yyyy;
    double K1,K2;
};
 
struct list{
    student st;
    list *next;
    list *prev;
};
Само задание
Сортировать необходимо следующим образом: студенты должны быть упорядочены по номеру группы, студенты одной группы должны быть отсортированы по фамилии, а в случае одинаковых фамилий – по имени.
Сама сортировка из интернетов
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
26
27
28
29
void qSort(int *a, int n)
{
    if (n <= 1)
        return;
    int x = a[n / 2];
 
    int i = 0;
    int j = n - 1;
    while (1) {
        while (a[i] < x)
            i++;
        while (a[j] > x)
            j--;
        if (i <= j) {
            if (i < j) {
                int tmp = a[i];
                a[i] = a[j];
                a[j] = tmp;
            }
            i++;
            j--;
        } else {
            break;
        }
    }
 
    qSort(a, j + 1);
    qSort(a + i, n - i);
}
НЕ могу понять как сортировать этим дерево
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru