Puede usar valores más grandes para mostrar, como decir:
apple : 1 000 000
orange : 2 000 000
banana : 3 000 000
Ahora si quiero agregar potato
en la posición 2 (n=2) tomo la posición n (=> 2:naranja) y (n-1)(=> 1:manzana) y las divido entre 2 para obtener la posición de papa nueva:
(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
Esto funcionará durante bastante tiempo, y si en algún momento sientes que has agotado este esquema, aún puedes multiplicar todos los valores por 1000.
También puede seguir usando valores bajos (1, 2, 3, ...) y definir su tipo como DOUBLE
, por lo que nunca chocarán al dividirlos por 2.
EDITAR: Acerca de colocar el plátano en la posición 1:
Usando la fórmula (n+(n-1))/2:
Aquí n =1 (nueva posición).
Nuestros datos son:
apple : 1 000 000
potato : 1 500 000
orange : 2 000 000
banana : 3 000 000
(1 000000+(0))/2
=500 000
Doy la orden 500 000 a banana :
**banana : 500 000**
apple : 1 000 000
potato : 1 500 000
orange : 2 000 000
Otra solución más:cree un campo de texto que sea un indexador y contenga todas las identificaciones.
"1,2,3,4,5,6,7"
Ahora bien, si quiero poner el ID de elemento 8 entre 3 y 4, simplemente tengo que reemplazar ",4" por ",8,4".
Aunque es más complicado en términos de computación encontrar el elemento en el índice n, personalmente usaría la primera solución.