HeapSort < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 23:07 Mo 02.02.2015 | Autor: | Kian |
Hallo liebe User,
habe ein kleines Programm geschrieben, was ein Heap erzeugen soll.
Ein Array soll ein Binärbaum darstellen.
Leider funktioniert mein Code nicht ganz und den Fehler kann ich nicht finden!
Jemand ne Idee, wo der Fehler sein könnte?
1: |
| 2: |
| 3: | void sinke(int i){
| 4: | int LN;
| 5: |
| 6: | while(i <= MAX/2){
| 7: | LN = i*2;
| 8: | if(LN < MAX)
| 9: | if(Index[LN]>Index[LN-1])
| 10: | LN++;
| 11: | if(Index[i-1] > Index[LN-1]){
| 12: | tausche(i, LN);
| 13: | i =LN;
| 14: |
| 15: |
| 16: | } else{
| 17: | i=MAX;
| 18: | }
| 19: | }
| 20: | }
| 21: |
| 22: |
| 23: | void erzeugeHeap(){
| 24: | int n = (MAX/2)-1;
| 25: | for(int i=n; i>=0; i--){
| 26: | versinke(i);
| 27: | }
| 28: | }
| 29: |
| 30: |
| 31: | void tausche(int a, int b){
| 32: | int c = Index[a];
| 33: | Index[a] = Index[b];
| 34: | Index[b] = c;
| 35: | }
| 36: |
| 37: |
|
Lg
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 23:20 Mi 04.02.2015 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|