Untitled

                Never    
C
       
bool lista_iter_insertar(lista_iter_t *iter, void *dato){
	
	//CASO DE INSERTAR vacia
	if(lista_esta_vacia(iter->lista_externa)){
		//TENGO QUE CAMBIAR ESTO QUE NO FUNCIONA
		if(lista_insertar_primero(iter->lista_externa, dato)){
			iter->actual = iter->lista_externa->primero;
			return SE_PUDO_INSERTAR;
		}
	}
	nodo_t* nuevo_nodo = crear_nodo(dato);
	if(!nuevo_nodo) return false;

	if(iter->actual == iter->lista_externa->primero){
		iter->lista_externa->primero = nuevo_nodo;
	}
	if(lista_iter_al_final(iter)){
        iter->lista_externa->ultimo = nuevo_nodo;
        
    } 
	nuevo_nodo->siguiente = iter->actual;
	if(nuevo_nodo != iter->lista_externa->primero) iter->anterior->siguiente = nuevo_nodo;
	iter->actual = nuevo_nodo;
	iter->lista_externa->largo++;
	return SE_PUDO_INSERTAR;

}

Raw Text