Пример #1
0
// Inserta en una lista en la posicion actual del iterador
// Pre: el iterador y la lista fueron creados
// Post: devuelve NULL si algun parametro no es correcto
bool lista_insertar(lista_t *lista, lista_iter_t *iter, void *dato)
{
	if(!lista || !iter || !dato)
		return false;

    // Caso 1: Iter al principio de la lista
	if(!iter->nodo_ant)
	{
		if(!lista_insertar_primero(lista, dato))
			return false;
		iter->nodo_act = lista->primero;
		iter->nodo_ant = NULL;
		return true;
	}

	nodo_t* nodo = malloc(sizeof(nodo_t));
    if(nodo == NULL) return false;

    nodo->dato = dato;

	// Caso 2: Iter al final
	if(lista_iter_al_final(iter))
    {
        nodo->siguiente = NULL;
        lista->ultimo = nodo;
    }
    else // Caso 3: Iter entre dos nodos
        nodo->siguiente = iter->nodo_act;

    iter->nodo_ant->siguiente = nodo;
    iter->nodo_act = nodo;

	lista->largo++;
	return true;
}
Пример #2
0
bool lista_insertar_ultimo(lista_t *lista, void *dato){
  if (lista_esta_vacia(lista)){
    return lista_insertar_primero(lista, dato);  
  }
  nodo_t* nodo = nodo_crear(dato);
  if (!nodo) return false;
  lista->ultimo->siguiente = nodo;
  lista->ultimo = nodo;
  lista->largo++ ;
  return true;
}
Пример #3
0
// Agrega un nuevo elemento al final de la lista. Devuelve falso en caso de error.
// Pre: la lista fue creada.
// Post: se agregó un nuevo elemento a la lista, valor se encuentra al final
// de la lista.
bool lista_insertar_ultimo(lista_t *lista, void* valor)
{
    if(!lista) return false;
    if(lista_esta_vacia(lista))
        return lista_insertar_primero(lista, valor);

	nodo_t* nodo = malloc(sizeof(nodo_t));
	nodo->dato = valor;
    nodo->siguiente = NULL;

	if(nodo == NULL)
		return false;

    lista->ultimo->siguiente = nodo;
	lista->ultimo = nodo;
	lista->largo++;

	return true;
}
Пример #4
0
bool lista_insertar(lista_t *lista, lista_iter_t *iter, void *dato){
	if (iter->anterior == NULL && iter->actual != NULL){ // o sea si iter = posicion inicial
        //Estoy en el primer nodo
        lista_insertar_primero(lista, dato);
        //Actualizo el iterador
        iter->actual = lista->inicio;
        iter->anterior = NULL;
        lista->largo +=1;
        return true;
        }
        //if
    nodo_t* nodo_nuevo = nodo_crear(dato); 
    if (nodo_nuevo == NULL) return false;
    (iter->anterior)->ref = nodo_nuevo;
    nodo_nuevo->ref = iter->actual;
    lista->largo +=1;
    //Actualizo el iterador
    iter->actual = nodo_nuevo;
    return true;
    }
Пример #5
0
bool lista_iter_insertar(lista_iter_t *iter, void *dato){
  bool res;
  if (iter->actual == iter->lista->primero){
    res = lista_insertar_primero(iter->lista, dato);
    iter->actual = iter->lista->primero ;
    return res;
  }
  if(lista_iter_al_final(iter)){
    res = lista_insertar_ultimo(iter->lista, dato);
    iter->actual = iter->lista->ultimo;
    return res;
  }
  nodo_t* nodo = nodo_crear(dato);
  if (!nodo) return false;
  nodo->siguiente = iter->actual;
  iter->actual = nodo;
  iter->anterior->siguiente = nodo;
  iter->lista->largo++ ;
  return true;
}
Пример #6
0
Файл: 0.c Проект: nee47/backup
bool almacenar(hash_t* hash, lista_t** tabla, daton_t* paquete, unsigned long largo){
  bool resu;
  unsigned long indice = fh(paquete->clave, largo );
  if (!tabla[indice]){
    tabla[indice] = lista_crear();
  }
  lista_iter_t* iter_l = busqueda(tabla[indice], paquete->clave);
  if (lista_iter_al_final(iter_l)) {  //no lo encontro
    resu = lista_insertar_primero(tabla[indice], paquete);
    hash->tam++;
    lista_iter_destruir(iter_l);
    return resu;
  }
  daton_t* aux = lista_iter_borrar(iter_l);
  free(aux->clave);
  if (hash->destruir_dato) hash->destruir_dato(aux->dato); 
  free(aux);
  resu = lista_insertar_ultimo(tabla[indice], paquete);
  lista_iter_destruir(iter_l);
  return resu;
}
Пример #7
0
bool lista_insertar(lista_t *lista, lista_iter_t *iter, void *dato) {
	// Si estoy en la primera posición del iterador
	if (!iter->anterior) {
		if (lista_insertar_primero(lista, dato)) iter->actual = lista->inicio;
		else return false;
	}
	// Si estoy en la última posición del iterador
	else if (lista_iter_al_final(iter)) {
		if (lista_insertar_ultimo(lista, dato)) iter->actual = lista->fin;
		else return false;
	}
	// Si estoy en cualquier otra posición del iterador
	else {
		nodo_t* nodo = nodo_crear(dato);
		if (!nodo) return false;
		iter->anterior->siguiente = nodo;
		nodo->siguiente = iter->actual;
		iter->actual = nodo;
		lista->largo++;
	}
	return true;
}
Пример #8
0
// Inserta un nuevo elemento a la lista en la posicion del iterador, 
// devuelve falso en caso de error.
// Pre: la lista y el iterador fueron creados.
// Post: se insertó un nuevo elemento en la lista.
bool lista_insertar(lista_t *lista, lista_iter_t *iter, void *dato)
{
	/* Creamos una variable para verificar que, en caso de ser usadas,
	 * insertar_primero o insertar_ultimo funcionaron correctamente */
	bool exito = true;
	
	/* Si el iterador está al principio de la lista o la lista
	 * está vacía, insertamos en el primero */
	if (!iter->anterior && (exito = lista_insertar_primero(lista, dato))){
		iter->actual = lista->primero;
		return true;
	}
	
	/* Si el iterador está al final de la lista insertamos en el ultimo */
	if (lista_iter_al_final(iter) && (exito = lista_insertar_ultimo(lista, dato))){
		iter->actual = lista->ultimo;
		return true;
	}
	
	/* El iterador no está al final ni al principio de la lista */
	if (exito){
		/* Creamos el nuevo nodo con el dato a insertar */
		nodo_t* nodo_nuevo = crear_nodo(dato);
		if (!nodo_nuevo)
			return false;
		
		/* Ubicamos el nuevo nodo en la posicion en donde se 
		 * encontraba el iterador, iter->actual pasa a ser el nuevo
		 * nodo insertado e iter->anterior se mantiene constante */
		nodo_nuevo->prox = iter->actual;
		iter->actual = nodo_nuevo;
		iter->anterior->prox = nodo_nuevo;
		lista->cantidad++;
		return true;
	}
	
	/* lista_insertar_primero o lista_insertar_ultimo devolvió false */
	return false;
}
hash_t* hash_redimensionar(hash_t* hash, size_t tamanio) {
    lista_t** nueva_tabla = creacion_tabla(hash,tamanio);
    if (nueva_tabla == NULL) return NULL;
    for (int i = 0; i < hash->tamanio; i ++) {
        lista_iter_t* iter = lista_iter_crear(hash->tabla[i]);
        const char* clave;
        size_t posicion;
        nodo_hash_t* nodo;
        while (!lista_iter_al_final(iter)) {
            nodo = lista_borrar(hash->tabla[i],iter);
	    clave = nodo->clave;
	    posicion = fhash(clave,tamanio);
	    lista_insertar_primero(nueva_tabla[posicion],nodo);
        }
        lista_destruir(hash->tabla[i],NULL);
	lista_iter_destruir(iter);
    }

    free(hash->tabla);
    hash->tamanio = tamanio;
    hash->tabla = nueva_tabla;
    return hash;
}
bool hash_guardar(hash_t* hash, const char* clave, void* dato) {
    size_t posicion = fhash(clave,hash->tamanio);
    nodo_hash_t* nodo_clave = buscar_clave(hash->tabla[posicion],clave);
    // si la clave no existe
    if (nodo_clave == NULL) {
        nodo_hash_t* nodo = creacion_nodo(clave,dato);
        lista_insertar_primero(hash->tabla[posicion],nodo);
        hash->cantidad ++;
    }
    // si la clave ya existe, reemplazo el dato
    if (nodo_clave != NULL) {
        if (hash->destruir_dato != NULL) {
            hash->destruir_dato(nodo_clave->dato);
        }
        nodo_clave->dato = dato;
    }

    //Factor de carga de 70 %
    float resultado = (hash->cantidad)/(hash->tamanio);
    if (resultado > FACTORCARGA)
        hash_redimensionar(hash,(hash->tamanio)*2);
    return true;

}
Пример #11
0
/* Pruebas */
void prueba_tipos() {

	// Declaro de variables
	lista_iter_t *iter;
	lista_t* lista;
	alumno_t* alumno1;
	alumno_t* alumno2;
	alumno_t* alumno3;
	int padron1=94111;
	int padron2=77777;
	int padron3=10104;

	// las inicializo
	lista = lista_crear();
	alumno1=alumno_crear(padron1);
	alumno2=alumno_crear(padron2);
	alumno3=alumno_crear(padron3);

	printf("---------------------------PRUEBAS---------------------------\n");

	//pruebo que este vacia
	print_test("Pruebo que la lista se crea vacía", lista_esta_vacia(lista) );

	//inserto 1er elemento
	print_test("Inserto primer elemento alumno1", lista_insertar_primero(lista,alumno1) );

	//inserto ultimo
	print_test("Inserto ultimo elemento alumno2", lista_insertar_ultimo(lista,alumno2) );

	//inesrto un nuevo ultimo
	print_test("Inserto ultimo elemento alumno3", lista_insertar_ultimo(lista,alumno3) );

	//veo el primero
	print_test("Veo el primer elemento(alumno1)", alumno1==lista_ver_primero(lista));

	//borro el primero y veo devuelta
	print_test("Borro el primero", lista_borrar_primero(lista));
	print_test("Veo el primer elemento(alumno2)", alumno2==lista_ver_primero(lista));

	//veo el largo de la lista
	print_test("Veo el largo de la lista (2)", 2==lista_largo(lista));

	//creo iterador
	iter= lista_iter_crear(lista);

	//pruebas del iterador
	print_test("Hago avanza al iterador", lista_iter_avanzar(iter));
	print_test("Veo elemento actual del iterador (alumno3)", alumno3==lista_iter_ver_actual(iter));
	print_test("Hago avanza al iterador", lista_iter_avanzar(iter));
	print_test("Veo si esta al final", lista_iter_al_final(iter));

	//pruebas de lista junto con iterador
	print_test("Inserto de nuevo alumno1", lista_insertar(lista,iter,alumno1));
	print_test("Lo borro", alumno1==lista_borrar(lista,iter));

	//inserto 1er elemento
	print_test("Inserto primer elemento alumno1", lista_insertar_primero(lista,alumno1) );
	//destruyo el iterador
	lista_iter_destruir(iter);
	//creo iterador
	iter= lista_iter_crear(lista);
	print_test("Destruyo iterador,lo creo devuelta y borro el primer elemento (alumno1)", alumno1==lista_borrar(lista,iter));
	destruir_dato(alumno1);
	//destruyo lista e iterador
	lista_iter_destruir(iter);
	lista_destruir(lista,destruir_dato);

}
Пример #12
0
void lista_prueba(){
	
	//Pruebo crear listas
	lista_t* lista1 = lista_crear();
	lista_t* lista2 = lista_crear();
	lista_t* lista3 = lista_crear();
	
	print_test("Probando si lista1 se creo bien", lista1!=NULL);
	print_test("Probando si lista1 esta vacia", lista_esta_vacia(lista1));
	print_test("Probando si el largo de lista2 es 0", lista_largo(lista2)==0);
	
	int vector[]={ 1, 2, 3, 4};
	char vector2[]="hola que tal";
	
	// Probando insertar en la lista;
	
	print_test("Probando si se inserta al principio un elemento en la lista1", lista_insertar_primero(lista1, &vector));
	print_test("Probando si se inserta al final un elemento en la lista1", lista_insertar_ultimo(lista1, &vector2));
	
	// Probando el largo de la lista con 2 elementos
	
	print_test("Probando que el largo de la lista1 sea dos", lista_largo(lista1)==2);
	
	// Probando el lista borrar primero en la lista 1
	
	print_test("Probando si se borra el primer elemento en la lista1", lista_borrar_primero(lista1) == vector);
	
	// Probando el lista ver primero
	
	print_test("Probando ver el primero de la lista 1", lista_ver_primero(lista1) == vector2 );
	
	// Probando agregar al principio en lista 3
	
	print_test("Probando si se inserta al principio un elemento en la lista3", lista_insertar_primero(lista3, &vector));
	
	lista_insertar_ultimo(lista3, &vector2);
	
	// PRUEBAS CON EL ITERADOR CON LA LISTA 3
	
	lista_iter_t* iter = lista_iter_crear(lista3);
	
	// Probando el iter avanzar
	
	print_test("Probando el iter avanzar", lista_iter_avanzar(iter));

	//  Probando el iter ver actual
	
	print_test("Probando el iter ver actual", lista_iter_ver_actual(iter) == vector2);
	
	// Probando el iter al final
		
	print_test("Probando el iter avanzar", lista_iter_avanzar(iter));
	print_test("Probando el iter avanzar (no puede avanzar mas)", lista_iter_avanzar(iter) == false);

	print_test("Probando el iter al final", lista_iter_al_final(iter));
	print_test("Probando si el iter esta el final el ver_actual", lista_iter_ver_actual(iter) == NULL); 
	
	lista_iter_destruir(iter);
	
	// Probando lista_insertar con iterador
	
	lista_iter_t* iter2 = lista_iter_crear(lista2);
	
	char vector3[]="chau";
	
	print_test("Probando el lista_insertar en la lista con el iter", lista_insertar(lista2,iter2,&vector3));
	print_test("Probando ver el primero de la lista2", lista_ver_primero(lista2) == &vector3 );
	print_test("Probando borrar con el iter", lista_borrar(lista2,iter2) == vector3 );
	print_test("Probando el lista_ver_primero con los nodos borrados", lista_ver_primero(lista2) == NULL );
	print_test("Probando el largo de una lista vacia", lista_largo(lista2) == 0 );
	print_test("Probando el lista_borrar_primero en una lista vacia", lista_borrar_primero(lista2) == NULL );
	
	lista_iter_destruir(iter2);
	
	// Pruebo Agregar 30 Datos y luego borrarlos
	
	for ( int i=0 ; i < 30 ; i++){
		lista_insertar_ultimo(lista2, &i);
	}
	print_test("Probando el largo de la lista2 luego de agregar 30 elementos", lista_largo(lista2) == 30);
	
	lista_iter_t* iter3=lista_iter_crear(lista2);
	
	while (!lista_iter_al_final(iter3)){
		lista_borrar(lista2,iter3);
	}
	
	print_test("Probando que se borraron todos los elementos" , lista_largo(lista2) == 0);
	print_test("Prubando borrar un elemento en una lista vacia" , lista_borrar(lista2,iter3) == NULL);
	
	lista_iter_destruir(iter3);
	
	//Finalmente, pruebo si estan vacias las 3 listas
	
	print_test( "Probando que la lista1 no este vacia", lista_esta_vacia(lista1) == false );
	print_test( "Probando que la lista2 este vacia", lista_esta_vacia(lista2) );
	print_test( "Probando que la lista3 no este vacia", lista_esta_vacia(lista3) == false );
	
	//Elimino las 3 listas
	
	lista_destruir(lista1, NULL);
	lista_destruir(lista2, NULL);
	lista_destruir(lista3, NULL);
	
	/* ******************************************************************
	*               Pruebas con lista 4
	* *****************************************************************/
	
	//Creo otra lista y le inserto 10 nodos
	
	lista_t* lista4 = lista_crear();
	
	for( int num=1; num <= 10 ; num++){
		int elemento=1;
		lista_insertar_ultimo(lista4 , &elemento);
	}
	
	print_test("Probando largo de la lista 4", lista_largo(lista4) == 10 );
	
	lista_iter_t* iter4= lista_iter_crear(lista4);
	
	print_test("Probando que se creo el iter 4", iter4!=NULL);
	
	print_test("Probando que el iter 4 no este al final", lista_iter_al_final(iter4) == false);
	
	for (int j=1; j<=10; j++){
		lista_iter_avanzar(iter4);
	}
		
	print_test("Probando que el iter 4 este al final", lista_iter_al_final(iter4));
	
	char prueba[] = "prueba";
	
	print_test("Probando lista_insertar con el iter al final ", lista_insertar(lista4, iter4, &prueba));
	
	print_test("Probando que el iter 4 no este al final", lista_iter_al_final(iter4) == false);
	
	print_test("Probando avanzar con el iter 4 al final", lista_iter_avanzar(iter4));
	
	print_test("Probando lista_borrar con el iter 4 al final", lista_borrar(lista4,iter4) == NULL);
	
	print_test("Probando lista_insertar con el iter 4 al final ", lista_insertar(lista4, iter4, &prueba));
	
	print_test("Probando lista_borrar con el iter 4", lista_borrar(lista4,iter4) == prueba);
	
	for (int j=0; j<=10; j++){
		lista_borrar_primero(lista4);
	}
	
	print_test("Probando largo de la lista 4", lista_largo(lista4) == 0 );

	// elimino el iter 4
	
	lista_iter_destruir(iter4);


	//Elimino la lista
	
	lista_destruir(lista4, free);
	
	
	
	/* ******************************************************************
	*               Pruebas con lista 5
	* *****************************************************************/
	
	//Creo otra lista y le inserto 10 nodos
	
	lista_t* lista5 = lista_crear();
	
	// le creo un iter
	
	lista_iter_t* iter5= lista_iter_crear(lista5);
	
	print_test("Probando que se creo el iter 5", iter5!=NULL);
	
	for( int num=1; num <= 10 ; num++){
		char elemento2[]="hola";
		lista_insertar(lista5, iter5, &elemento2);
	}
	
	print_test("Probando largo de la lista 5", lista_largo(lista5) == 10 );
	
	print_test("Probando que el iter 5 no este al final", lista_iter_al_final(iter5) == false);
	
	char prueba2[] = "prueba";
	
	print_test("Probando lista_borrar con el iter 5 al principio", lista_borrar(lista5,iter5) != NULL);
	
	print_test("Probando lista_insertar con el iter 5 al principio", lista_insertar(lista5, iter5, &prueba2));
	
	print_test("Probando lista_borrar con el iter 5 ", lista_borrar(lista5,iter5) == prueba2);
	
	for (int j=0; j<=10; j++){
		lista_borrar(lista5, iter5);
	}
	
	print_test("Probando largo de la lista 5", lista_largo(lista5) == 0 );
	
	print_test("Probando que la lista 5 este vacia", lista_esta_vacia(lista5));
	
	print_test("Probando lista ver_primero de la lista 5", lista_ver_primero(lista5) == NULL);
	
	print_test("Probando avanzar con el iter 5 al final", lista_iter_avanzar(iter5) == false);
	
	print_test("Probando avanzar con el iter 5 al final", lista_iter_ver_actual(iter5) == NULL);
	
	
	// elimino el iter 5
	lista_iter_destruir(iter5);
	
	//Elimino la lista
	lista_destruir(lista5, free);


	/* ******************************************************************
	*               Pruebas con lista 6
	* *****************************************************************/
		
	// Creo una nueva Lista
		
	lista_t* lista6 = lista_crear();
	
	// le creo un iter
	
	lista_iter_t* iter6= lista_iter_crear(lista6);
	
	print_test("Probando que se creo el iter 6", iter6!=NULL);
	
	
	void* elemento = malloc(sizeof(void*)) ;
	
	print_test("Probando agregar un elemento con lista_insertar con la lista 6 vacia", lista_insertar(lista6, iter6, elemento));
	
	print_test("Probando largo de la lista 6", lista_largo(lista6) == 1 );
	
	print_test("Probando que el iter 6 no este al final", lista_iter_al_final(iter6) == false);
	
	print_test("Probando si puedo avanzar con el iter 6", lista_iter_avanzar(iter6));
	
	print_test("Probando que el iter 6 este al final", lista_iter_al_final(iter6));
		
	void* borrar=lista_borrar_primero(lista6);
	free(borrar);
	
	// elimino el iter 6
	
	lista_iter_destruir(iter6);

	//Elimino la lista 6
	
	lista_destruir(lista6, free);
	
	/* ******************************************************************
	*               Pruebas con lista 7
	* *****************************************************************/
	
	lista_t* lista7 = lista_crear();
	
	
	
	for (int x=1 ; x<=10 ; x++){
		lista_insertar_primero(lista7, &x);
	}
	
	lista_iter_t* iter7 = lista_iter_crear(lista7);
	
	print_test("Probando que el largo de la lista7 sea 10", lista_largo(lista7) == 10);
	
	while (!lista_iter_al_final(iter7)){
		lista_iter_avanzar(iter7);
	}
	
	void* y;
	
	print_test("Probando si se puede ver el elemento actual del iter", lista_iter_ver_actual(iter7) == NULL);
	print_test("Probando insetar un elemento al final de la lista7", lista_insertar(lista7, iter7, &y));
	print_test("Probando que el largo de la lista7 sea 11", lista_largo(lista7) == 11);
	print_test("Probando borrar el ultimo elemento de lista7", lista_borrar(lista7,iter7) == &y);
	print_test("Probando que el largo de la lista7 sea 10", lista_largo(lista7) == 10);
	print_test("Probando insetar un elemento al final de la lista7", lista_insertar(lista7, iter7, &y));
	print_test("Probando que el iter7 no quede al final", lista_iter_al_final(iter7) == false);
	
	
	lista_iter_destruir(iter7);
	lista_destruir(lista7, NULL);

	/* ******************************************************************
	*               Pruebas con lista 8
	* *****************************************************************/

	lista_t* lista8 = lista_crear();
	
	for (int x=1 ; x<=5 ; x++){
		lista_insertar_ultimo(lista8, &x);
	}
	print_test("Probando que el largo de la lista8 sea 5", lista_largo(lista8) == 5);
	
	lista_iter_t* iter8 = lista_iter_crear(lista8);
	
	int elem=0;
	print_test("Probando que el elemento actual del iter8 no es null", lista_iter_ver_actual(iter8) != NULL);
	print_test("Probando insertar al principio con el iter en lista8", lista_insertar(lista8, iter8, &elem));
	print_test("Probando que el largo de lista8 sea 6", lista_largo(lista8) == 6);
	print_test("Probando eliminar el primer elemento de la lista8 con el iter", lista_borrar(lista8, iter8) == &elem);
	print_test("Probado que el largo de la lista8 es 5", lista_largo(lista8) == 5);
	print_test("Probando insertar un elemento en la primera posicion de lista8", lista_insertar_primero(lista8, &elem));
	print_test("Probando que el actual del iter8 sea distinto que el primero de lista8", lista_ver_primero(lista8) != lista_iter_ver_actual(iter8));
	
	lista_iter_destruir(iter8);
	lista_destruir(lista8 , NULL);
	
	/* ******************************************************************
	*               Pruebas con lista 9
	* *****************************************************************/
	
	lista_t* lista9 = lista_crear();
	
	int num;
	
	print_test("Probando insertar el elemento en la lista9", lista_insertar_primero(lista9, &num));
	print_test("Probando que el largo de lista9 es 1", lista_largo(lista9));
	
	lista_iter_t* iter9 = lista_iter_crear(lista9);
	
	print_test("Probando que el elemento actual del iter9 no es null", lista_iter_ver_actual(iter9) != NULL);
	print_test("Probando borrar el elemento de lista9 con el iter", lista_borrar(lista9, iter9) == &num);
	print_test("Probando que el largo de lista9 es 0", lista_largo(lista9) == 0);
	print_test("Probando borrar un elemento de la lista9 que esta vacia", lista_borrar(lista9, iter9) == NULL);
	print_test("Probando avanzar en lista9 que esta vacia", lista_iter_avanzar(iter9) == false);
	print_test("Probando agregar un elemento con el iter9", lista_insertar(lista9, iter9, &num));
	print_test("Probando eliminar el ultimo elemento con el iter9", lista_borrar(lista9, iter9) == &num);
	print_test("Probando agregar un elemento en la lista9", lista_insertar_primero(lista9, &num));
	print_test("Probando eliminar el ultimo elemento con borrar primero", lista_borrar_primero(lista9) == &num);
	
	
	lista_iter_destruir(iter9);
	lista_destruir(lista9 , NULL);	
	
	lista_t* lista10= lista_crear();
	
	int i=0;
	
	print_test("Probando agregar un elemento a lista10", lista_insertar_primero(lista10 , &i));
	print_test("Probando eliminar primer elemento", lista_borrar_primero(lista10) != NULL);
	
	lista_destruir(lista10, NULL);
	
	

	
}