Sie können größere Werte für die Anzeige verwenden, z. B. :
apple : 1 000 000
orange : 2 000 000
banana : 3 000 000
Wenn ich jetzt potato
hinzufügen möchte in Position 2 (n=2) nehme ich die Positionen n (=> 2 :Orange) und (n-1)(=> 1 :Apfel) und teile sie durch 2, um die neue Kartoffelposition zu erhalten:
(1 000 000 + 2 000 000) / 2
=1 500 000
apple : 1 000 000
**potato : 1 500 000**
orange : 2 000 000
banana : 3 000 000
Das wird ziemlich lange funktionieren, und wenn Sie irgendwann das Gefühl haben, dieses Schema ausgeschöpft zu haben, können Sie immer noch alle Werte mit 1000 multiplizieren.
Sie können auch weiterhin niedrige Werte (1, 2, 3, ...) verwenden und ihren Typ als DOUBLE
definieren , sodass sie niemals kollidieren, wenn sie durch 2 dividiert werden.
BEARBEITEN : Über das Platzieren einer Banane in Position 1 :
Mit der Formel (n+(n-1))/2:
Hier n =1 (neue Position).
Unsere Daten sind:
apple : 1 000 000
potato : 1 500 000
orange : 2 000 000
banana : 3 000 000
(1 000000+(0))/2
=500 000
Ich gebe der Banane die Bestellung 500 000 :
**banana : 500 000**
apple : 1 000 000
potato : 1 500 000
orange : 2 000 000
Noch eine andere Lösung:Erstellen Sie ein Textfeld, das ein Indexer wäre und alle IDs enthalten würde.
"1,2,3,4,5,6,7"
Wenn ich jetzt die Element-ID 8 zwischen 3 und 4 setzen möchte, muss ich einfach ",4," durch ",8,4," ersetzen.
Obwohl es in Bezug auf die Berechnung komplizierter ist, ein Element bei Index n zu finden, würde ich persönlich die erste Lösung verwenden.