martedì 31 marzo 2009

Liste concatenate

//UNA LISTA DI NUMERI CHE DIGITO DA TASTIERA
import java.io.*;
import java.util.*;

public class Lista1 {
Nodo top;
Nodo ultimo;
Nodo nuovo;
int n;
int conta=0;
Scanner in=new Scanner(System.in);//per leggere da tastiera
public void creaLista(){
n=in.nextInt();
while(n!=0) {
nuovo=new Nodo(n); //nuovo è il puntatore
if (top==null) top=nuovo; //così entrambi puntano alla stessa cosa
else {
nuovo.next=top;
top=nuovo;
}
n=in.nextInt();
}
}
public void stampaLista() {
ultimo=top;
while(ultimo!=null) {
System.out.println(ultimo.num);
ultimo=ultimo.next;
}
}
public void contaNodi() {
ultimo=top;
while(ultimo!=null) {
conta++;
ultimo=ultimo.next;
}
System.out.println("Il numero dei nodi e' "+conta);
}

public static void main (String[] args) {
Lista1 l1=new Lista1();
l1.creaLista();
l1.stampaLista();
l1.contaNodi();
}
}

Eseguendo il programma, si otterrà una finestra del tipo...consiste nel digitare dei numeri da tastiera e, una volta premuto 0, la successione viene stampata nel verso contrario a quello d'immissione e successivamente scriverà anche il numero dei nodi:

Nessun commento: