Kod: Zaznacz cały
int left(int i)
{
return 2*i;
}
int right(int i)
{
return 2*i+1;
}
void zamien(int &a, int &b)
{
int temp = a;
a=b;
b=temp;
}
void heapify(int *tab, int i)
{
int largest;
int l = left(i);
int r = right(i);
if(l<=10 && tab[l]>tab[i]){
largest = l;}
else {largest=i;}
if(r<=10 && tab[r]>tab[largest])
largest=r;
if (largest!=i)
{zamien(tab[i], tab[largest]);
heapify(tab,largest);}
}