Forum: Object-Pascal / Delphi-Language
by himitsu,
24. Mai 2010
Diese Schleife (inkl. richtiger Abruchbedingung) sollte im Worst-Case bei n*(n-1)/2 liegen. :gruebel:
PS: Aha, du willst also alles mehrfach durchgehn? @gammatester
- sortieren mit n*log(n)
- und prüfen mit n-1
wird bestimmt länger dauern.
Forum: Object-Pascal / Delphi-Language
by himitsu,
24. Mai 2010
Ach menno, das vergeß ich manchmal.
ich wünsche mir eh schon lange ein Break(2); für sowas. :cry:
Forum: Object-Pascal / Delphi-Language
by himitsu,
23. Mai 2010
Nja, 'ne platformunabhängigkeit seh ich so oder so eh nicht.
PS: noch eine weitere Variable erzeugt gleich nochmal 1,5 weitere solcher Vergleichszeilen.
Wärend die Schleifen gleichlang bleiben.
Außerdem kann man sich bei den vielen Vergleichen schonmal verschreiben.
(nicht jeder läßt sich derartige Codes automatisch generieren :angel2: )
for i := 0 to High(arr) - 1 do
for j := i + 1...
Forum: Object-Pascal / Delphi-Language
by himitsu,
23. Mai 2010
Jupp, die Schleife ist keine Schlechte Idee, ansonsten mußt du ja so oder so jede Variable mit Jeder vergleichen, was natürlich 9*(9-1) Vergleiche ergibt.
Optimiert, durch Auslassung der äquivalenten Vergleiche ( a<>b = b<>a ), ergibt das ein bissl weniger:
if (a<>b) and (a<>c) and (a<>d) and (a<>e) and (a<>f) and (a<>g)
and (a<>h) and (a<>i) and (b<>c) and (b<>d) and (b<>e) and (b<>f)
...