Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 14.10.2015
Сообщений: 23
1

Сортировка кучей

25.11.2015, 20:57. Показов 3782. Ответов 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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
#include <conio.h>
using namespace std;
void max_heapify(int *a, int i, int n)
{
    int j, temp;
    temp = a[i];
    j = 2*i;
    while (j <= n)
    {
        if (j < n && a[j+1] > a[j])
            j = j+1;
        if (temp > a[j])
            break;
        else if (temp <= a[j])
        {
            a[j/2] = a[j];
            j = 2*j;
        }
    }
    a[j/2] = temp;
    return;
}
void heapsort(int *a, int n)
{
    int i, temp;
    for (i = n; i >= 2; i--)
    {
        temp = a[i];
        a[i] = a[1];
        a[1] = temp;
        max_heapify(a, 1, i - 1);
    }
}
void build_maxheap(int *a, int n)
{
    int i;
    for(i = n/2; i >= 1; i--)
    {
        max_heapify(a, i, n);
    }
}
int main()
{
    int n, i, x;
    cout<<"vvedite kol-vo elementov v masive\n";
    cin>>n;
    int a[20];
    for (i = 1; i <= n; i++)
    {
        cout<<"vvedite element"<<(i)<<endl;
        cin>>a[i];
    }
    build_maxheap(a,n);
    heapsort(a, n);
    cout<<"sortirovanniy massiv\n";
    for (i = 1; i <= n; i++)
    {
        cout<<a[i]<<endl;
    }
    getch();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2015, 20:57
Ответы с готовыми решениями:

Сортировка пирамидой (кучей)
Реализовал сортировку массива пирамидальным способом. Но не пойму, это нормально или нет, что...

Сортировка кучей с указателями
Доброго времени суток. Есть задание реализации функции, которая сортирует массив чисел (например,...

Ошибка в программе (с кучей)
Подскажите где ошибка в программе.Программа работает нормально,но в конце работы программы выдаётся...

Является ли массив кучей?
1.Пусть массив отсортирован по возрастанию. Является ли он кучей?Если да,то почему?Если нет,то...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2015, 20:57

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Программа с кучей условий
Здравствуйте в общем. Преподаватель задал задание на зачете я вроде все сделала но она просто так...

Работа с кучей. Перевыделение памяти
Для объяснения вопроса приведу сначала пример: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; class...

В чем разница между управляемой и неуправляемой кучей?
Здравствуйте.... извиниТЕ если кому-либо покажется вопрос глупым, но хоть убейте, понять не могу в...

3. Игра Ним с одной кучей камней и с инвертированными правилами
Решите задачу методом динамического программирования : Игра Ним с одной кучей камней и с...


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

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

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