Danke, aber das Problem habe ich inzwischen schon anders gelöst, Stack(Vector) zu verwenden wäre nicht zielführend, da es
a) soetwas meines Wissens nur in Java gibt
b) ich die ganze Sortiererei viel einfacher erledigen könnte, und zwar mit st.insertElementat(index); (Weiß nicht ob ich den Befehl noch richtig weiß)
Inzwischen habe ich es so gelöst, das ich am Anfang der Schleife immer das jetzige Feld in ein Hilfsfeld speichere, dann für SortFeld ein neues Feld mit einem Element mehr anlege, und in einer zweiten (inneren) forschleife die alten Werte vom Hilfsfeld wieder zurückspeicher.
Dann gebe ich in den letzten Index noch die frisch eingelesene Zahl.
Das Integer.parseInt am Anfang dient nur dazu um wenn es nicht funzt, gleich in die catch-Anweisung zu hüpfen.
int[] sortFeld = new int[0], hsf;
int i=0,a;
Input in;
for(i=0;;i++){
in = new Input(new Frame(),"Heapsort","Bitte Zahl eingeben","OK");
in.setVisible(true);
try{
Integer.parseInt(in.getResult());
hsf = sortFeld;
sortFeld = new int[sortFeld.length+1];
for(a=0;a<hsf.length;a++){
sortFeld[a]=hsf[a];
}
sortFeld[i]=Integer.parseInt(in.getResult());
}
catch(NumberFormatException nfe){
break;
}
}
____________________________________
Resistantium est futilius
|