[latex]Mae govannen![/latex]
Allgemein: Wenn die Nummer des nachfolgenden Objekts um eins größer ist als die vorige Nummer, muss die nachfolgende Nummer (um eins) erhöht werden, wenn dazwischen ein Objekt eingefügt wird. Wenn das nicht der Fall ist, muss keine der vorhandenen Nummern geändert werden.
Du hast da einen Denkfehler: Wenn die Nummer des nachfolgenden Objekts um eins größer ist als die vorige Nummer, müssen die Werte _aller_ Objekte mit höherer Nummer um eins erhöht werden, und zwar solange, bis eine Lücke auftritt. Ansonsten verschiebst du die Doppelung nur eins weiter.
Ich sehe das Ganze wegen der daraus resultierenden Komplexität allerdings als problematischen bis fehlerhaftes Konzept. Du solltest ernsthaft überdenken, ob es keine andere, einfachere Methode gibt, beispielsweise die Objekte einfach stur weiter zu numerieren (höchster_bisher_vergebener_wert + 1); eventuell ergänzt durch Auffüllen unbesetzter Werte.
In keinem Fall würde ich aber die vorhandenen Eigenschaften mehr ändern.
Stur lächeln und winken, Männer!
Kai
„Die Borg würden nicht mal Spaß verstehen, wenn sie einen Vergnügungspark assimiliert hätten!” (B'Elanna Torres)
SelfHTML-Forum-Stylesheet