  #include<iostream.h>
  #include<conio.h>
  #include<stdio.h>

  struct lista
  {
     int info;
     lista *der,*izq;
  };

    void crea_final(lista *p, lista *f);
    void recorrecursivo1(lista *p);
    void recorrecursivo2(lista *f);


  void main()
  {
     lista *ptr = NULL,*f = NULL;
     clrscr();
     crea_final(ptr,f);
     cout<<"null";

     getch();    
  }


void crea_final(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->izq=f;
       f->der=q;
       f=q;
       q->der=NULL;
       cout<<"teclea un numero entero"<<endl;
       q=new lista;
    }
    cout<<"Recorrido de izquierda a derecha\n"<<endl;
    recorrecursivo1(p);
    cout<<"\n\nRecorrido de derecha a izquierda\n"<<endl;
    recorrecursivo2(f);
 }

 void recorrecursivo1(lista *p)
 {

    if(p!=NULL)
    {
       cout<<p->info<<"->";
       recorrecursivo1(p->der);
    }
  }


 void recorrecursivo2(lista *q)
  {
    if(q!=NULL)
    {
       cout<<q->info<<"->";
       recorrecursivo2(q->izq);
    }

 }


