Quote Originariamente inviata da MItaly Visualizza il messaggio
Puoi usare tranquillamente una soluzione ricorsiva... In pseudocodice (più-o-meno-Python) sarebbe una cosa del tipo:
codice:
def printItems(lista, parentID):
    print '<ul>'
    for elem in lista:
        if elem.parentID==parentID:
            print '<li>', elem.name, '</li>'
            printItems(lista, elem.id)
    print '</ul>'
(in realtà si potrebbe rendere più efficiente memorizzando i dati in un dictionary con chiave il parentid, ma è per rendere l'idea)
Certo che in realtà scorri tutta la lista un numero impressionante di volte per il compito da risolvere e ci sono soluzioni possibili in 2 passaggi (e una struttura di supporto).

Vero è anche che in generale, per le dimensioni di un menù, non si presenterà alcun problema e non c'è gran spreco di risorse.