  #include <iostream.h>
  #include <conio.h>

  struct lista
  {
     int info;
     lista *der, *izq;
  };

  void crea_inicio(lista *p, lista *f);
  void recorreiterativo1(lista *p);
  void recorreiterativo2(lista *f);


  void main()
  {
     lista *ptr = NULL,*f =NULL;
     clrscr();
     crea_inicio(ptr,f);
     getch();
  }

  void crea_inicio(lista *p,lista *f)
  {
     lista *q;
     p = new lista;
     cout<<"teclea un numero entero"<<endl;
     cin>>p->info;
     p->der = NULL;
     p->izq = NULL;
     f=p;
     q = new lista;

     cout<<"teclea un numero entero"<<endl;
     while (cin>>q->info)
     {
        q->der = p;
        p->izq = q;
        p = q;
        q= new lista;
        q->izq = NULL;
        cout<<"teclea un numero entero"<<endl;

     }
     cout<<"Recorrido de derecha a izquierda\n"<<endl;
     recorreiterativo1(p);
     cout<<"\nRecorrido de izquierda a derecha\n"<<endl;
     recorreiterativo2(f);
  }

  void recorreiterativo1(lista *p)
  {

     while (p!=NULL)
     {
        cout<<p->info<<"->";
        p = p->der;
     }
     cout<<"null";
  }

void recorreiterativo2(lista *f)
  {

     while (f!=NULL)
     {
        cout<<f->info<<"->";
        f = f->izq;
     }
     cout<<"null";
  }


