Du kan bruge større værdier til visning, som f.eks. :
apple : 1 000 000
orange : 2 000 000
banana : 3 000 000
Hvis jeg nu vil tilføje potato
i position 2 (n=2) indtager jeg n (=> 2 :orange) og (n-1)(=> 1 :æble) position og dividerer dem med 2 for at få den nye kartoffelposition :
(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
Dette vil virke ret lang tid, og hvis du på et tidspunkt føler, at du har opbrugt dette skema, kan du stadig gange alle værdier med 1000.
Du kan lige så godt blive ved med at bruge lav værdi (1, 2, 3, ...) og definere deres type som DOUBLE
, så de vil aldrig støde sammen, når de divideres med 2.
REDIGERING: Om at placere banan i position 1 :
Brug af formel (n+(n-1))/2:
Her er n =1 (ny position).
Vores data er:
apple : 1 000 000
potato : 1 500 000
orange : 2 000 000
banana : 3 000 000
(1 000000+(0))/2
=500.000
Jeg giver ordren 500 000 til banan :
**banana : 500 000**
apple : 1 000 000
potato : 1 500 000
orange : 2 000 000
Endnu en løsning:Opret et tekstfelt, der ville være en indeksering og indeholde alle id'er.
"1,2,3,4,5,6,7"
Hvis jeg nu vil sætte element id 8 mellem 3 og 4, skal jeg blot erstatte ",4," med ",8,4,"".
Selvom det er mere kompliceret med hensyn til databehandling at finde element ved indeks n, så ville jeg personligt bruge den første løsning.