Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Pascal - Liste concatenate, cosa sono e quando si usano?
Forum - Pascal - Liste concatenate, cosa sono e quando si usano?

Avatar
bruno.demarini (Normal User)
Pro


Messaggi: 84
Iscritto: 22/03/2010

Segnala al moderatore
Postato alle 21:14
Lunedì, 30/08/2010
Ciao, sto imparando il Pascal da un manuale, sono arrivato alle liste concatenate, ma leggendo dal manuale non riesco a capire cosa siano (ho solo un'idea vaga) e, praticamente, quando si usano... Qualcuno me lo potrebbe spiegare, possibilmente nel modo più semplice possibile ?
Grazie mille in anticipo :)

PM
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Up
3
Down
V
Segnala al moderatore
Postato alle 0:11
Martedì, 31/08/2010
E' una struttura che ti permette di rappresentare una lista di elementi, ciascun elemento contenente un riferimento all'elemento successivo (nel caso di una lista semplice). Esistono diversi tipi di liste concatenate, singole (esiste solo un riferimento all'elemento successivo), doppie (riferimento all'elemento successivo e precedente), circolari (l'ultimo elemento contiene un riferimento al primo) sono le principali.

Il vantaggio principale e' che l'inserimento di un elemento in una qualsiasi posizione della lista avviene in tempo costante O(1), ovvero richiede una sola operazione.
Lo svantaggio principale e' che per accedere ad un elemento nel mezzo della lista, devi attraversare tutti gli elementi che lo precedono (dal momento che l'unico elemento che possiede un riferimento ad un elemento N e' l'elemento N-1).

Ma per una completa descrizione consulterei questa pagina: http://it.wikipedia.org/wiki/Lista_concatenata

Ultima modifica effettuata da pierotofy il 31/08/2010 alle 17:20


Il mio blog: https://piero.dev
PM
Avatar
Poggi Marco (Member)
Guru


Messaggi: 969
Iscritto: 05/01/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 22:12
Lunedì, 30/08/2010
Le liste concatenate servono per destire la memoria in modo dinamico.

In particolare una lista concatenata consiste in una catena di record (chiamati nodi), ognuna delle quali contiene la parte informativa, i dati da memorizzare, e un puntatore del nodo successivo alla catena stessa.

Allego un grafico rappresentante le liste:


Poggi Marco ha allegato un file: Immagine.PNG (18657 bytes)
Clicca qui per guardare l'immagine
PM
Avatar
bruno.demarini (Normal User)
Pro


Messaggi: 84
Iscritto: 22/03/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 12:54
Martedì, 31/08/2010
Wow, grazie ad entrambi per le risposte, ora ho le idee più chiare.
Grazie mille, ciao .

PM
Avatar
bruno.demarini (Normal User)
Pro


Messaggi: 84
Iscritto: 22/03/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 22:09
Martedì, 31/08/2010
Testo quotato

Postato originariamente da Alex:

Un altro vantaggio molto importante è che puoi inserire/cancellare un nodo in mezzo alla lista cosa che ad esempio con gli array non puoi fare...



Se non sbaglio quello si può fare lo stesso, eliminando l'elemento e spostando gli altri a sinistra o, aggiungendo, spostando gli elementi a destra (ma forse mi sbaglio).

PM
Avatar
Alex (Ex-Member)
Expert


Messaggi: 441
Iscritto: 15/08/2005

Up
-1
Down
V
Segnala al moderatore
Postato alle 21:54
Martedì, 31/08/2010
Un altro vantaggio molto importante è che puoi inserire/cancellare un nodo in mezzo alla lista cosa che ad esempio con gli array non puoi fare...

PM