Here is a function that inserts x at the beginning of list L.

void insert(int x, Cell*& L)
{
  L = new Cell(x, L);
}

Here is one that inserts x at the end of list L.

void insert(int x, Cell*& L)
{
  if(L == NULL) L = new Cell(x, L);
  else insert(x, L->next);
}