25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

400 Puntatori<br />

RECURSIVE SUBROUTINE write_node(ptr)<br />

TYPE(node), POINTER :: ptr ! puntatore alla posizione corrente<br />

! Scrive il contenuto del nodo precedente<br />

IF (ASSOCIATED(ptr%before)) THEN<br />

CALL write_node(ptr%before)<br />

END IF<br />

! Stampa il contenuto del nodo corrente<br />

WRITE(*,"(2X,I10)") ptr%int<br />

! Scrive il contenuto del nodo successivo<br />

IF(ASSOCIATED(ptr%after)) THEN<br />

CALL write_node(ptr%after)<br />

END IF<br />

END SUBROUTINE write_node<br />

END PROGRAM tree<br />

Al fine di verificare la bontà del codice, può essere utile osservare uno stralcio dell’output:<br />

Elenco originale:<br />

77<br />

82<br />

14<br />

65<br />

84<br />

...<br />

91<br />

54<br />

6<br />

57<br />

79<br />

Elenco ordinato:<br />

2<br />

2<br />

3<br />

3<br />

5<br />

...<br />

89<br />

<strong>90</strong><br />

91<br />

98<br />

99<br />

Un albero binario consente, dunque, di ordinare i dati all’interno di una struttura indipendentemente<br />

dall’ordine in cui vengono inseriti e senza operare alcuna permutazione degli elementi

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!