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

Пирамидальная сортировка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Закрытое наследование. Вывод строки http://www.cyberforum.ru/cpp-beginners/thread1179338.html
Здравствуйте. Необходимо вывести элемент класса std::string в данном случае: class Wine : protected Pair, private string { int years; public: Wine(const char* l, int y, const int* v, const...
C++ Оценка вычислительной сложности алгоритма Здравствуйте! Вот написал программу которая вычисляет максимальную сумму каждой последовательности рекурсивным методом. Но не в этом суть. Реализовал замер времени за сколько выполняется программа.... http://www.cyberforum.ru/cpp-beginners/thread1179337.html
Добавить функции в программе со структурой NOTE C++
Вечер добрый всем. Подскажите пожалуйста, как мне мою программу переделать с функциями? Вот моя программа:// ConsoleApplication1.cpp: определяет точку входа для консольного приложения. // ...
Работа с потоками. Поиск максимального элемента в массиве C++
Есть рабочая программа поиска максимального элемента в массиве. #include <iostream> #include <conio.h> #include "windows.h" #include <process.h> #include <stdio.h> using namespace std; int...
C++ Функция, которая возвращает значение в классе http://www.cyberforum.ru/cpp-beginners/thread1179313.html
Уважаемые, подскажите пожалуйста. У меня есть программа. (созд. списка; различные операции над списком и т.д.) Я пытаюсь ее переделать, но с классом. Как мне в publicЕ обозначить прототип этой...
C++ Рекурсия для вычисления квадрата числа Не пойму в чем дело, собственно ошибку описал в комменте, не судите строго первый пост на форуме, только что зарегистрировался просто безвыходное уже... #include "stdio.h" #include "windows.h"... подробнее

Показать сообщение отдельно
Crast
70 / 70 / 1
Регистрация: 10.02.2013
Сообщений: 434
18.05.2014, 08:28
Если sift - это перестановка то как-то так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int HeapSort (int *a, int n)
{ 
    int left = n/2+1, right=n-1, x;
    int count = 0;
    while (left>1)
    {
        count++;
        sift (a, --left, right);
    }
    while (right>1)
    {
        x = a[1];
        a[1] = a[right];
        a[right] = x;
        count++;
        sift (a, left, --right);
    }
    return count;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru