Nwlapcug.com


Come creare una copia istantanea di una lista concatenata

Come creare una copia istantanea di una lista concatenata


Le liste concatenate sono strutture di dati che vengono create dinamicamente mentre un computer è in esecuzione. Questo significa che non è stata allocata memoria prima di avviare il programma e il programma creato la struttura come era necessario. Spesso sarà necessario creare una copia di un elenco collegato a lavorare con su un determinato problema senza distruggere l'originale. La procedura seguente deve essere eseguita solo da quelli con esperienza in strutture di dati di computer.

Istruzioni

1

Richiedere un nuovo puntatore per iniziare a costruire la copia immediata. I puntatori sono parole in memoria che sono appena abbastanza grande per contenere gli indirizzi di memoria. Rendere il nuovo puntatore punto di ingresso alla vostra copia istantanea, non importa la struttura dell'elenco collegato si sta copiando. Una volta che avete il puntatore iniziale, si passerà attraverso l'elenco collegato facendo una copia istantanea di tutto ciò che viene rilevata.

2

Collegare i nodi della vostra copia istantanea avendo i puntatori in un nodo contengono l'indirizzo del nodo successivo nell'elenco. Inserire i dati che va nell'elenco collegato nei nodi. Ad esempio, in un database all'Agenzia delle entrate, i nodi potrebbero contenere record dei cittadini, con un record per ogni cittadino. Mettere uno o più puntatori in ogni record, ad esempio gli indirizzi degli altri record. Mettere un puntatore in ciascun record, se volete le liste concatenate per essere effettivi elenchi, code o qualche altro tipo di struttura lineare. Se si sta creando un albero, mettere più di un puntatore in ogni record. Utilizzare il layout dell'elenco collegato che si sta copiando per rendere la vostra copia istantanea.

3

Richiedere un nuovo indirizzo. Il metodo per eseguire questa operazione dipende dalla lingua che si utilizza. Il sistema operativo sul computer fornisce nuovi blocchi di memoria, insieme con l'indirizzo del blocco così che possa farvi riferimento. Il tuo nuovo indirizzo punta a un record vuoto. Copiare le informazioni del primo record nell'elenco collegato vecchio nel primo record nel nuovo elenco collegato che stanno facendo (fatta eccezione per il puntatore). Quando si arriva al puntatore, richiedere un nuovo puntatore e mettila nell'elenco collegato che si sta creando. Seguire il puntatore del mouse nell'elenco precedente. Segui il nuovo puntatore a un nuovo record vuoto e copiare le informazioni da un record a un altro come prima. Continuare a fare questo fino a quando viene copiato l'intero elenco.

Consigli & Avvertenze

  • Scrivere l'elenco collegato procedura come una funzione di copia. L'input alla funzione è l'indirizzo dell'elenco collegato che si desidera copiare. L'output della funzione sarà l'indirizzo della copia. Se si scrive la funzione in modo ricorsivo, la funzione consisterà principalmente istruzioni per copiare dati da un record a altro.
  • Se il tuo elenco collegato è un albero come la struttura, record potrebbero contenere più di un puntatore. È necessario apportare una ricorsiva chiamare per ogni puntatore. In tal modo che viene copiato l'intero albero.