Recursive Preorder for “LISP”
Nested List Implementation
void print_preorder ( Node * n)
{
while (n != NULL){
if ( n->get_tag()==I ) cout << n->ival();
else //
must be the case that get_tag()==P
print_preorder( n->pval() );
n = n -> next;
}