TDA Lista de enteros VII

TDA Lista de enteros VII

Continuamos con el tutorial dedicado a la implementación de una lista de enteros en C con el procedimiento para concatenar dos listas.

Como precondición es necesario comprobar que las dos listas existen.

lista lista_contat ( lista *c, lista *d ) {
	
	if (!*c || !*d) {
		fprintf ( stderr, "lista_concat: las listas no existe\n" );
		exit ( 1);
	}
	
	if ( !*c->tam ) {
		free (*c);
		*c=*d;
		*d=NULL;
		
		return (*c);
	}
	
	else if ((*d)->tam) {
	
		(*c)->ulti->sig = (*d)->prim;
		(*c)->nodo = (*d)->prim;
		(*c)->ulti  = (*d)->ulti;
		(*c)->indnodo = (*c)->tam+1;
		(*c)->tam += (*d)->tam;
		
		free (*d);
	
	}
	
	else free (*d);
	
	return (*c);
	
	
}

Dejo la sección de comentarios abierta para los que deseen dejar sus aportaciones o códigos alternativos.

No Comments

Post a Comment