• Non ci sono risultati.

Segmento codice Segmento dati Segmento stack Heap Info pNext NODO PSEUDOCODIFICA LISTA DINAMICA COSTITUITA DA n NODI

N/A
N/A
Protected

Academic year: 2021

Condividi "Segmento codice Segmento dati Segmento stack Heap Info pNext NODO PSEUDOCODIFICA LISTA DINAMICA COSTITUITA DA n NODI"

Copied!
4
0
0

Testo completo

(1)

Esempio sull’uso dei puntatori - 2

Autore: Prof. Rio Chierego (e-mail: riochierego@libero.it - sito web: www.riochierego.it)

PSEUDOCODIFICA LISTA DINAMICA COSTITUITA DA n NODI

ALGORITMO ListaNNodiDinamica TIPO NODO = RECORD

Info : INT

pNext: PUNTATORE A NODO FINE RECORD

PROCEDURA main( )

pTesta, pCur, PNew: PUNTATORE A NODO i, n: INT

continua: BOOL INIZIO

/* costruzione della lista */

/* check del numero di nodi minimo per la lista */

RIPETI Leggi (n) FINCHE’ (n ≥ 2)

Alloca (pNew, DimensioneDi (NODO)) (1) SE (pNew ≠ NULL)

ALLORA

Leggi (pNewInfo) pCur  pNew (2) pTesta  pCur (3) i  2

continua  VERO

MENTRE (continua = VERO) AND (i ≤ n) ESEGUI Alloca (pNew, DimensioneDi (NODO)) (4)

SE (pNew ≠ NULL) ALLORA

Leggi (pNewInfo)

(pCurpNext)  pNew (5) pCur  pNew (6)

i  i + 1 ALTRIMENTI continua  FALSO

Scrivi (“Errore di allocazione altri nodi”) FINE SE

FINE MENTRE

(pCurpNext)  NULL (7) ALTRIMENTI

continua  FALSO

Scrivi (“Errore di allocazione primo nodo”) FINE SE

(6) (4)

(3) (2)

(7) (5)

(1)

pTesta

Segmento codice Segmento dati

pNew pCur

Segmento stack Heap

0000111 110100010010100101010 1101010 001000101101010101010 0010110 100101110111110101010 0010101 111110100101111010101 1101101 110101110101011101011

Info pNext

NODO

(2)

Esempio sull’uso dei puntatori - 2

Autore: Prof. Rio Chierego (e-mail: riochierego@libero.it - sito web: www.riochierego.it) SE (continua = VERO)

ALLORA

FINE SE FINE

/* visualizzazione della lista */

pCur  pTesta (1) MENTRE (pCur ≠ NULL) ESEGUI Scrivi (pCur  Info)

pCur  (pCur pNext) (2) FINE MENTRE

(2) (1)

pTesta

Segmento codice Segmento dati

pCur

Segmento stack Heap

0000111 110100010010100101010 1101010 001000101101010101010 0010110 100101110111110101010 0010101 111110100101111010101 1101101 110101110101011101011

/* deallocazione della lista */

pCur  pTesta (1) MENTRE (pCur ≠ NULL) ESEGUI pTesta  (pCurpNext) (2) Dealloca (pCur) (3) pCur  pTesta (4) FINE MENTRE

(3)

(2) (4)

(1)

pTesta

Segmento codice Segmento dati

pCur

Segmento stack Heap

0000111 110100010010100101010 1101010 001000101101010101010 0010110 100101110111110101010 0010101 111110100101111010101 1101101 110101110101011101011

/* visualizzazione alternativa della lista */

pCur  pTesta

MENTRE (pCur ≠ NULL) ESEGUI Scrivi ((*pCur).Info)

pCur  ((*pCur).pNext) FINE MENTRE

/* deallocazione alternativa della lista */

pCur  pTesta

MENTRE (pCur ≠ NULL) ESEGUI pTesta  ((*pCur).pNext) Dealloca (pCur)

pCur  pTesta FINE MENTRE

(3)

Esempio sull’uso dei puntatori - 2

Autore: Prof. Rio Chierego (e-mail: riochierego@libero.it - sito web: www.riochierego.it)

FLOW-CHART

(4)

Esempio sull’uso dei puntatori - 2

Autore: Prof. Rio Chierego (e-mail: riochierego@libero.it - sito web: www.riochierego.it)

Riferimenti

Documenti correlati

E’ possibile (ed apparirà da subito estremamente conveniente) introdurre nuove funzionalità nella pseudocodifica dedicate ESCLUSIVAMENTE agli ARRAY MONODIMENSIONALI

//Vettore di 5 elementi..

Combinando e incrociando le capacità del disco di Placido dell’Atlas, per la superficie anteriore delle cornea, e le proprietà tomografiche del Visante, per la mappa pachimetrica

Per il punto di incontro O delle diagonali traccia una retta r, che interseca i lati opposti AB e CD nei punti E e,

(a) supponiamo di denire il parallelogramma come un quadrilatero che ha in centro di simmetria (chiamiamo O tale centro); allora, se A, B, C e D sono nell'ordine i vertici

maggiore della metà à à à di AB, traccio di AB, traccio di AB, traccio di AB, traccio un arco..

come si può facilmente notare, il perimetro delle varie spezzate ottenute congiungendo i punti delle suddivisioni successive di ordine 2, del segmento AB e dei lati del

Qualora Syngenta adotti termini formali per definire la reazione di piante nei confronti di parassiti e patogeni e la reazione a stress abiotici, Syngenta sarà tenuta ad informare