Ich willl mit c++ einen buildheap, einen downheap und einen heapsort (dieser soll build und down vereinen) programmieren. mein buildheap klappt auch, aber bei dem downheap könnte ich hilfe gebrauchen.
Hier, was ich bisher hab:
void downheap(int array[oben])
{
for(int k=oben-1;k>0;k--)
{
tausche(&array[0], &array[k]);
for(int i=oben-1;i>0;i--)
{
int v=i/2;
int l=2*v+1;
int r=2*v+2;
if(array[l]<array[r]){
if(array[v]<array[r]){tausche(&array[v], &array[r]);}
}else{
if(array[v]<array[l]){tausche(&array[v], &array[l]);}
}
}
}
}
Hier, was ich bisher hab:
void downheap(int array[oben])
{
for(int k=oben-1;k>0;k--)
{
tausche(&array[0], &array[k]);
for(int i=oben-1;i>0;i--)
{
int v=i/2;
int l=2*v+1;
int r=2*v+2;
if(array[l]<array[r]){
if(array[v]<array[r]){tausche(&array[v], &array[r]);}
}else{
if(array[v]<array[l]){tausche(&array[v], &array[l]);}
}
}
}
}