Vous pouvez utiliser des valeurs plus grandes pour l'affichage, comme par exemple :
apple : 1 000 000
orange : 2 000 000
banana : 3 000 000
Maintenant, si je veux ajouter potato
en position 2 (n=2) je prends la position n (=> 2 :orange) et (n-1)(=> 1 :pomme) et je les divise par 2 pour obtenir la nouvelle position de la pomme de terre :
(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
Cela fonctionnera assez longtemps, et si à un moment donné vous avez l'impression d'avoir épuisé ce schéma, vous pouvez toujours multiplier toutes les valeurs par 1000.
Vous pouvez également continuer à utiliser des valeurs faibles (1, 2, 3, ...) et définir leur type comme DOUBLE
, ainsi ils ne se heurteront jamais en les divisant par 2.
MODIF : A propos du placement de la banane en position 1 :
En utilisant la formule (n+(n-1))/2 :
Ici n =1 (nouvelle position).
Nos données sont :
apple : 1 000 000
potato : 1 500 000
orange : 2 000 000
banana : 3 000 000
(1 000000+(0))/2
=500 000
Je donne la commande 500 000 à banana :
**banana : 500 000**
apple : 1 000 000
potato : 1 500 000
orange : 2 000 000
Encore une autre solution :créez un champ de texte qui serait un indexeur et contiendrait tous les identifiants.
"1,2,3,4,5,6,7"
Maintenant, si je veux mettre l'élément id 8 entre 3 et 4, je dois simplement remplacer ",4," par ",8,4,"".
Bien qu'il soit plus compliqué en termes de calcul de trouver un élément à l'index n, j'utiliserais personnellement la première solution.