TDA Lista de enteros XI

TDA Lista de enteros XI

Con éste artículo termino el tutorial dedicado a implementar una lista de enteros en C. Me centraré en el procedimiento dedicado a buscar un elemento concreto en la lista. La función devolverá la posición del elemento buscado en la lista si lo encuentra o el valor cero en caso contrario.

Vamos a ver el código.

int l_find ( lista c, struct l_enteros e ) {
	
	l_lst corr;
	int i=1;
	
	if (!c) {
		fprintf (stderr, "lista_find: la lista no existe\n" );
		exit (1);
	}
	
	corr = c->prim;
	while l_iguales( corr->val, e ) && corr ) {
		corr = corr->sig;
		i++;
	}
	
	if ( corr ) {
		c->nodo = corr;
		c->indnodo = i;
		
		return (i);
	}
	
	else return (0);
	
	
}

Podéis descargar esta estructura de datos desde mi repositorio de github. Espero vuestras opiniones o códigos alternativos para ésta función.

No Comments

Post a Comment