Puoi utilizzare valori più grandi per la visualizzazione, ad esempio :
apple : 1 000 000
orange : 2 000 000
banana : 3 000 000
Ora se voglio aggiungere potato
nella posizione 2 (n=2) prendo n (=> 2 :arancione) e (n-1)(=> 1 :mela) e le divido per 2 per ottenere la posizione della patata novella :
(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
Funzionerà per un periodo piuttosto lungo e, se a un certo punto ritieni di aver esaurito questo schema, puoi comunque moltiplicare tutti i valori per 1000.
Puoi anche continuare a utilizzare un valore basso (1, 2, 3, ...) e definire il loro tipo come DOUBLE
, quindi non entreranno mai in collisione quando vengono divisi per 2.
MODIFICA : Informazioni sul posizionamento della banana in posizione 1 :
Usando la formula (n+(n-1))/2:
Qui n =1 (nuova posizione).
I nostri dati sono:
apple : 1 000 000
potato : 1 500 000
orange : 2 000 000
banana : 3 000 000
(1 000000+(0))/2
=500 000
Do l'ordine 500 000 alla banana :
**banana : 500 000**
apple : 1 000 000
potato : 1 500 000
orange : 2 000 000
Ancora un'altra soluzione:creare un campo di testo che sia un indicizzatore e contenga tutti gli ID.
"1,2,3,4,5,6,7"
Ora, se voglio mettere l'ID elemento 8 tra 3 e 4, devo semplicemente sostituire ",4," con ",8,4,".
Sebbene sia più complicato in termini di calcolo trovare l'elemento all'indice n, quindi personalmente userei la prima soluzione.