Хочу сделать сортировку пирамидальную (обратную) То есть что бы массив в котором есть числа 4,5,3,0 отсортировало не так 0,3,4,5, а так 5,4,3,0. Вот функции для нахождения(от меньшего к большому)
template<typename T>
void downHeap(T a[], long k, long n)
{
T new_elem;
long number;
new_elem = a[k];
while(k <= n/2)
{
number = 2*k;
if( number < n && a[number] < a[number+1] )
number++;
if( new_elem >= a[number] ) break;
// иначе
a[k] = a[number];
k = number;
}
a[k] = new_elem;
}
template<typename T>
void heapSort(T a[], long size)
{
long i;
T temp;
for(i=size/2-1; i >= 0; i--) downHeap(a, i, size-1);
for(i=size-1; i > 0; i--)
{
temp=a[i]; a[i]=a[0]; a[0]=temp;
downHeap(a, 0, i-1);
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Написать программу, которая бы запускала в памяти еще один процесс и оставляла бы его работать в бесконечном циклеПри повторном запуске...
Доброго времени суток! Подскажите, как получить весь список файлов и папок содержащихся в библиотеке? Не могу разобраться, почему то функция...