rendered paste body#include <cstdlib>
#include <iostream>
using namespace std;
int rozmiar = 10;
void qsort (int tab[], int l, int p)
{
int i=l;
int j=p;
int v = tab[(l+p)/2];
int temp;
while(i<j){
while (tab[i]<v)
i++;
while(tab[j]>v)
j--;
if (i<=j)
{
temp = tab[j];
tab[j]=tab[i];
tab[i]=temp;
i++;
j--;
}
}
if (l<j)
qsort(tab,l,j);
if(p>i)
qsort(tab,i,p);
}
void heap(int tab[],int i, int size)
{
int l=2*i+1;
int p=2*i+2;
int max=i;
if (l<size && tab[l]>tab[max])
max = l;
if (p<size &&tab[p]>tab[max])
max = p;
if(max !=i)
{
int tmp = tab[max];
tab[max] = tab[i];
tab[i] = tmp;
heap(tab, max, size);
}
}
void heapsort(int tab[])
{
int n = 10;
for(int i=n/2; i<=0; i--)
{
heap(tab,i,n);
int tmp=n;
for(int i=0; i>tmp; i++)
{
int tmp2 = tab[0];
tab[0]=tab[n-1];
heap(tab,0,n);
n--;
}
}
}
int main()
{
int maintaba[10] = {5,1,7,2,4,6,8,13,14,2};
heap(maintaba,1, rozmiar);
heapsort(maintaba);
// qsort(maintaba,0,rozmiar);
for(int i=0; i<rozmiar; i++)
{
cout<<maintaba[i]<<" ";
}
char d;
cin>>d;
return EXIT_SUCCESS;
}