Il serait peut-être préférable de le transformer d'abord en une structure de type arborescent :
Menu Top
|
Nodes with NULL p_id
|
Children
Vous pouvez le faire en créant une classe MenuNode qui a un tableau d'enfants. Vous n'êtes pas obligé de le faire de cette façon, mais cela facilitera grandement la création d'une fonction récursive pour afficher le menu.