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

компьютеры Компьютеры программирование программы


Примечание:
С++, либо С

Примечание:
template< class T >
void downHeap_1(T a[], long k, long n)
{
T new_elem;
long child;
new_elem = a[k];

while (k <= n / 2)
{
child = 2 * k;

if (child < n && a[child] < a[child + 1])
child++;
if (new_elem >= a[child])
break;
a[k] = a[child];
k = child;
}
a[k] = new_elem;
}

template< class T >
void heapSort_1(T a[], long size)
{
long i;
T temp;

for (i = size / 2 - 1; i >= 0; --i)
downHeap_1(a, i, size - 1);
for (i = size - 1; i > 0; --i)
{
temp = a[i];
a[i] = a[0];
a[0] = temp;
downHeap_1(a, 0, i - 1);
}
}

смена знака, те что в верхней функции к желаемому результату не приводят
Ответы:
Точно так же как по возрастанию, но сменив знак сравнения не противоположный.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.