Thread Immer hälftig einfügen? (18 answers)
Opened by bianca at 2012-02-15 11:01

GUIfreund
 2012-02-15 23:32
#156164 #156164
User since
2011-08-08
559 Artikel
BenutzerIn
[default_avatar]
Vielleicht klappt es so:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Vorbereitung: Ausgangsarray nach @in kopieren.
Fehler wenn Länge <= 1
Loop über alle Arrays in @in
last wenn Länge 1
Nächsten Wert in der Mitte einfügen
Wenn kein weiterer Wert da
Alle Arrays in @in aneinander hängen
Fertig
Nach Loop-Ende:
Wenn Ende wegen Länge 1
Alle Arrays in @in aneinander hängen
sonst
Alle Arrays in @in halbieren, Hälften in @out sammeln
@in durch @out ersetzen
Das Ganze von vorn

Die neuen Werte werden beim nächsten Start des Loops in die Längenbestimmung mit einbezogen. Das ist hoffentlich in deinem Sinne.

Für @in und @out würde ich anonyme Arrays nehmen, damit das Kopieren schneller geht.

Als Mindestlänge würde ich 4 statt 2 nehmen, sonst entstehen hässliche Cluster.

Vielleicht ist es mehr in deinem Sinne, wenn der Loop erst abgebrochen wird, wenn alle Arrays die Mindestlänge unterschreiten.
Gruß
GUIfreund

View full thread Immer hälftig einfügen?