You can do it with an array, if you want to make simple things. Each node has an array, called for example SUCCESSORS, that has MAXDEG elements. As you can imagine it's easy but it's a huge waste of space. If your root node has 10k elements, and his sons are leaves, you'll have an array of 10k elements for each node, even if the one of leaves will be always empty.
I'd do it with lists, to gain a dynamical allocation of space for a function that is generic and can be applied successfully to each graph structure.