void stampaLista(Lista lista) { tipoelem letto; posizione p = lista.primoLista(); while ( !lista.fineLista(p) ) { lista.leggiLista(letto, p); cout << letto << " "; p = lista.succLista(p); } }
/** * Albero caricaAlberoBinario(Lista l) – costruisce un albero binario di ricerca utilizzando gli * elementi presenti nella lista ordinata; * Algoritmo per caricare l'albero binario: * T = caricaAlberoBinario(partizione sinistra di L rispetto a mediano(L)) * U = caricaAlberoBinario(partizione destra di L rispetto a mediano(L)) * T' = costrBinAlbero(T,U) in cui la radice u di T' è mediano(L) */ Albero caricaAlberoBinario(Lista lista) { nodoBin radice = 0; int lunghezzaLista = 0; Albero albero = Albero(); posizione ultimo = lista.primoLista(); while ( !lista.fineLista(ultimo) ) { ultimo = lista.succLista(ultimo); } radice = 0; albero.insBinRadice(radice); lunghezzaLista = lunghezza(lista, lista.primoLista(), ultimo); private_riempiAlbero(lista, lunghezzaLista, albero, radice); return albero; }