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

Сортировка слиянием - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задача на строки и функции http://www.cyberforum.ru/cpp-beginners/thread692659.html
Нужно решить вот такое задание:С клавиатуры вводится строка. Составить программу, которая подсчитывает количество слов в тексте, которые начинаются с гласной буквы; выводит на экран все слова,...
C++ Ошибка: отсутствует значение, используемое по умолчанию В общем задание нужно сделать через функцию вроде написал но всё время пишет вот такую ошибку error C2548: find_min_colums: отсутствует значение, используемое по умолчанию для параметра 3 error... http://www.cyberforum.ru/cpp-beginners/thread692655.html
C++ Не разберусь с матрицами никак!
Даны натуральное число n>=2, действительная квадратная матрица порядка n. Построить последовательность b1,..,bn из нулей и единиц, в которой bi=1 тогда и только тогда, когда элементы i-й строки...
C++ Твикер для Windows для выключения визуальных эффектов
Задание. Программа-«твикер» для автоматической настройки ОС Windows на режим максимальной производительности. Программа автоматически запускается при загрузке ОС Windows и настраивает систему на...
C++ Что такое #include <iomanip>? http://www.cyberforum.ru/cpp-beginners/thread692645.html
что такое #include <iomanip> объясните пожалуйста что это за библиотека и для чего она нужна.
C++ Получить шесть чисел, образованных при перестановке цифр заданного числа Условия. Дано трехзначное число в котором все цифры различны. Получить шесть чисел, образованных при перестановке цифр заданного числа. подробнее

Показать сообщение отдельно
kryko
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 16

Сортировка слиянием - C++

08.11.2012, 23:43. Просмотров 261. Ответов 0
Метки (Все метки)

ужасно долго мучилась. а проблема в следующем - пропадают элементы.

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
30
31
32
33
34
35
36
37
void razdelenie (Node *head, Node *&p, Node *&q)
{
    p=head;q=p;Node *c=head;
    while (q->Next!=0&&q->Next->Next!=0)
    {
        c=c->Next;q=q->Next->Next;
    }
    q=c->Next;c->Next=0;
}
Node *sort (Node *p, Node *q)
{
    Node *c=0;
    if (p==0) 
    return q;
    else if (q==0)
    return p;
    if (p->value.klass<=q->value.klass)
    {
        c=p;
        c->Next=sort(p->Next,q);
    }
    else 
    {
        c=q;
        c->Next=sort(p,q->Next);
    }
    return c;
}
void mergesort ( Node *&head)
{
    Node *p;Node *q;Node *b=head;
    if (head==0 || head->Next==0) return ;
    razdelenie (head,p,q);
    mergesort(p);
    mergesort(q);
    b=sort (p,q);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru