#include #include /* PROGRAMA: lista_doble_liga.cpp DESCRIPCIÓN: Implementación de una lista doblemente ligada AUTOR: F.J.H.L. Fecha de actualización: 04-Septiembre-2014 */ typedef struct _nodo{ int valor; struct _nodo *siguiente; struct _nodo *anterior; }tipoNodo; void insertar(tipoNodo **lista,int x); int main(void){ tipoNodo *lista=NULL;//La lista está vacía insertar(&lista,10); insertar(&lista,20); return(0); } void insertar(tipoNodo **lista,int x){ //Crear memoria tipoNodo *nodo_nuevo; nodo_nuevo=(tipoNodo *)malloc(sizeof(tipoNodo)); nodo_nuevo->valor=x; if(*lista==NULL){//Si está vacía *lista=nodo_nuevo; (*lista)->siguiente=NULL; (*lista)->anterior=NULL; } else{ while((*lista)->anterior!=NULL){ *lista=(*lista)->anterior; } nodo_nuevo->siguiente=*lista; nodo_nuevo->anterior=NULL; (*lista)->anterior=nodo_nuevo; //*lista=nodo_nuevo; } }