So che la ricerca di array ha O (1) tempo, quindi non può essere in loop. Il programma memorizza le posizioni di memoria degli indici dell'array, o come appare istantaneamente l'indice?In che modo un programma individua l'indice di un array?
risposta
elementi array sono sempre distanziati a distanze uguali nella memoria, in modo da trovare un elemento in un indice richiede una moltiplicazione per la dimensione dell'elemento e un'aggiunta della base dell'array in memoria. Entrambe le operazioni vengono spesso eseguite nello spazio di una singola istruzione nell'hardware utilizzando una modalità di indirizzamento appropriata.
sotto ... sua un indirizzo di memoria + (postazione di indice * la dimensione delle cose nella matrice)
Prova questo,
1. Arrays are consecutive memory locations which are stored in Heap, as Arrays are
objects in java.
2. Assume i have an Array of String as an instance variable
String [] arr = {1,2,3,4,5};
Ora relativo simili
arr [0] = 1
arr [1] = 2
arr [2] = 3
arr [3] = 4
arr [4] = 5
{1,2,3,4,5} are stored over the heap, and Considering array "arr" as instance
variable, will lives within the object on the heap.
Now
arr conterrà l'indirizzo del primo elemento della matrice che è 1. "arr", che è una variabile di matrice di riferimento oggetto, sarà all'interno dell'oggetto e {1,2,3,4,5} all'esterno da qualche parte nell'heap.
elementi array sono memorizzati in un blocco consecutivo, se crescono hanno bisogno di essere spostato in una nuova posizione. Gli elementi sono quindi accessibili utilizzando un offset da cui inizia la matrice.
In C si può accedere all'elemento dell'indice i in un array chiamato un utilizzando due metodi differenti:
int arrayElement = a[i];
int arrayElement = (int)(a + i * sizeof(int));
Questo è più o meno come è fatto in Java sotto il cofano.
- 1. In che modo GCM individua un telefono utente
- 2. In che modo Tomcat individua la directory webapps?
- 3. In che modo il DOS carica un programma in memoria?
- 4. In che modo un'app su EC2 individua automaticamente le istanze di ElastiCache?
- 5. Trova l'indice di un valore in un array
- 6. Piping di un programma che utilizza WriteConsole
- 7. sommano in modo ricorsivo i numeri interi in un array
- 8. In che modo Flask-SQLAlchemy crea_all individua i modelli da creare?
- 9. PHP. C'è un modo per richiedere che un parametro di funzione sia un array?
- 10. È un modo ragionevole di "sottoclasse" di un array javascript?
- 11. C'è un modo per fornire stdin/out invece di un file in un programma in unix?
- 12. Esegui un altro programma in Linux da un programma C++
- 13. Docker: esegue un programma che richiede tty
- 14. Che cos'è un array byte []?
- 15. Conversione di un elenco di stringhe in un array NumPy in un modo più veloce
- 16. Knockout.js che mappano un JSON in un array osservabile
- 17. Come fare in modo che il debugger di Valgrind passi attraverso un programma
- 18. Che cos'è un array magico in Perl?
- 19. C'è un modo in C++ per ottenere un sub-array da un array?
- 20. Convertire un array di byte a una classe che contiene un array di byte in C#
- 21. Come gestisco in modo efficiente più inserti in un array?
- 22. C'è un modo per dedurre un tipo di un singolo elemento di un array in C++
- 23. C'è un modo per definire un array costante in PHP?
- 24. Trova l'elemento minimo in un array, che ha un modello
- 25. Come mescolare un array in modo che tutti gli elementi cambino la loro posizione
- 26. Come posso fare in modo che un programma attenda una variazione variabile in javascript?
- 27. Come posso trasformare in modo efficiente un array numpy.int8 in un array numpy.uint8 con valori spostati?
- 28. passare argomenti a un programma interattivo in modo non interattivo
- 29. Come si annulla in modo pulito un programma Delphi?
- 30. Come scrivere un programma in C++ in modo che si cancelli da solo dopo l'esecuzione?