int main (){

  Lista* lista= NULL;

  lista = insereDupla(lista,444);
  lista = insereDupla(lista,5);
  lista = insereDupla(lista,6);
  lista = insereDupla(lista,4);

  printf("%d\n",lista->anterior->anterior->info);

//
//   lista = insere_ordenado(lista,10);
// //  printf("%d\n",lista->proximo->proximo->info);
//   lista = insere_ordenado(lista,88);
// //  printf("%d\n",lista->proximo->info);
//   lista = insere_ordenado(lista,888);
// //  printf("%d\n",lista->proximo->info);
//   lista = insere_ordenado(lista,888888);
//   printf("%d\n",lista->anterior->info);
//   aux =lista->proximo->proximo->proximo;
// //  printf("%d\n",aux->anterior->info);

  //imprime_Tras(lista);
  imprime_rec(lista);


}
int main()
{
  Lista* l;
  l = inicializa();
  l = insere_ordenado(l, 78);
  l = insere_ordenado(l, 56);
  l = insere_ordenado(l, 23);
  l = insere_ordenado(l, 45);
  imprime_rec(l);
  l = retira_rec(l, 78);
  imprime_rec(l);
  l = retira_rec(l, 45);
  imprime_rec(l);
  libera_rec(l);
  system("PAUSE");	
  return 0;
}
/* Função imprime recursiva */
void imprime_rec (Lista* l)
{
   if (vazia(l))
      return;
   /* imprime primeiro elemento */
   printf("info: %d\n",l->info);
   /* imprime sub-lista */
   imprime_rec(l->prox);
}
void imprime_rec (Lista* l)
{
 if (l == NULL)
 return;
 /* imprime primeiro elemento */
 printf("info: %d\n",l->info);
 /* imprime sub-lista */
 imprime_rec(l->anterior);
}