La struttura che hai descritto non ha senso: chiami B, C e D più di un nodo. Vista così, è una semplice lista lineare A-B-C-D. Se quello che intendevi è questo:
cosa effettivamente ottenibile con la struttura che hai descritto, la funzione di inserimento è molto simile a quello di un albero binario. Se l'albero è ordinato, bisognerebbe sapere la logica di ordinamento (o disporre di una callback che mi restituisce la comparazione dei valori tra due nodi), altrimenti, come nel caso della gerarchia directory, è sufficiente passare alla funzione di inserimento non il nodo radice ma il nodo genitore e inserire il figlio all'inizio della lista lineare dei fratelli.codice:A-+-B---C---D +-E-+-F---G +-H---I

Rispondi quotando