[prev] 43 [next]

Recursive Operations on Lists (cont)

Now consider a function to double each value in a list:

void doubleAll(List L)
{
   if (empty(L))
      /* nothing to do/;
   else {
      head(L) = 2 * head(L);
      doubleAll(tail(L));
   }
}