Люба Якуничева
Люба Якуничева

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

Подскажите, что не так...?не хочет работать такая сортировка. . в мэйне пишу:

{
int mas[N*2], k, i;
for (i = 0; i < N; i++) {
k =rand() % 10;
mas = k;
}
for (i = 0; i < N; i++) {
printf("%d ", mas);
getchar();
}
Heap_Sort(mas);
printf("Sorting..");
getchar();
for (i = 0; i <= N; i++)
printf("%d ", mas);
getchar();
return 0;
}

результат на фото

а что, слово "такая" не нажимается? (((

короче, если не нажимается, то вот --->

#include "pyramid_merge.h"

void Sift(int* H, int i, int n)
{
// Просеивание в пирамиду
int j = 2*i, x = H;
if ((j < n) && (H[j + 1] < H[j]))
j++;
while ((j <= n) && (H[j] < x))
{
H = H[j];
i = j;
j = 2*i;
if ((j < n) && (H[j + 1] < H[j]))
j++;
}
H = x;
}

int Heap_Sort(int* H)
{
int x, l = N/2 + 1, r = N;
//Формирование пирамиды
while (l > 1) {
l--;
Sift(H, l, N);
}
//Сортировка
while (r > 1) {
x = H[l];
H[l] = H[r];
H[r] = x;
r--;
Sift(H, l, N);
}
}

Ив
Иван

А сортировка-то где? )
P.S. Пирамидальная сортировка работает так: кладём в бинарную кучу массив, а потом последовательно его вынимаем. А не то, что ты написал)

Похожие вопросы
Сортировка елементов класса С++
Помогите с сортировкой в pascal.
помогите с сортировкой на Си
Алгоритм сортировки С++
Помогите с сортировкой Pascal
Вопрос про сортировку в TDBGrid?
Сортировка двомерного масива
Помогите с сортировкой по алфовиту в с++
Как происходит сортировка слов, методом сортировки Хоара?
Сортировка Массива