Was ich mit diesem Delete und Insert meine ist folgendes. In diesem Beispiel werden einfach zwei Zeichen in einer in einem beliebigen Text getauscht, habe jetzt mal nur die Prozeduren aufgeführt:
Delphi-Quellcode:
procedure tauschen1(VAR text: string; x,y: integer);
var a,b: char;
Begin
a := text[x];
b := text[y];
delete(text,x,1);
insert(b,text,x);
delete(text,y,1);
insert(a,text,y);
End;
procedure tauschen2(VAR text: string; x,y: integer);
var b: char;
Begin
b := text[x];
text[x] := text[y];
text[y] := b;
End;
Das Analyseergebnis:
Bei Tauschen 1:
Zeichen: - Zeit:
1.000 - 7,1 s
1.000.000 - 116 min, 0 s
1.000.000.000 - 80d, 13h, 12min
Bei Tauschen 2:
Zeichen: - Zeit:
1.000 - <0,1 s
1.000.000 - <0,1 s
1.000.000.000 - 14,6 s
Warum die eine Prozedur wesentlich länger braucht ist mir klar, ich kann logisch nachvollziehen wie Delete und Insert funktionieren, und dass dort mehr Schritte nötig sind, als wenn der Text einfach nur überschrieben wird, also dieses eine Zeichen.
Kann man irgendwo nachlesen, was bei den einzelnen Funktionen und Prozeduren genau gemacht wird? Weil diese setzen sich sicherlich aus anderen kleineren Bestandteilen zusammen wenn ihr versteht was ich meine. Versteht ihr?