void filtrar() { lista* l = lista_crear(); jugador* j1 = crear_jugador("Ginobili", "Argentina", 5, 198); jugador* j2 = crear_jugador("Scola", "Antartida", 6, 198); jugador* j3 = crear_jugador("Prigioni", "Argentina", 7, 198); nodo* n3 = nodo_crear(j3); jugador* j4 = crear_jugador("Ginobili", "Argentina", 9, 199); jugador* j5 = crear_jugador("Ginobili", "Antartida", 10, 199); insertar_ultimo(l, n3); insertar_ordenado(l, (void*)j1, (tipo_funcion_cmp)&menor_jugador); insertar_ordenado(l, (void*)j2, (tipo_funcion_cmp)&menor_jugador); insertar_ordenado(l, (void*)j4, (tipo_funcion_cmp)&menor_jugador); insertar_ordenado(l, (void*)j5, (tipo_funcion_cmp)&menor_jugador); lista* lfil=filtrar_jugadores(l, (tipo_funcion_cmp)&menor_jugador,n3); lista_imprimir(lfil, "hola.out",(tipo_funcion_imprimir)&imprimir_jugador); assert(((jugador*)lfil->primero->sig->sig->datos)->altura==j4->altura); lista_borrar(lfil,(tipo_funcion_borrar)&borrar_jugador); lista* lfil2=filtrar_jugadores(l, (tipo_funcion_cmp)&pais_jugador,n3); lista_imprimir(lfil2, "hola.out",(tipo_funcion_imprimir)&imprimir_jugador); assert(((jugador*)lfil2->primero->sig->sig->datos)->altura==j3->altura); lista_borrar(lfil2,(tipo_funcion_borrar)&borrar_jugador); lista_borrar(l,(tipo_funcion_borrar)&borrar_jugador); }
int p5(){ char *nombre = "aaa"; char *pais = "pepe"; jugador *pepe = crear_jugador(nombre ,pais, 4 ,30); char *nombre2 = "aab"; char *pais2 = "pepe"; jugador *pepe2 = crear_jugador(nombre2 ,pais2, 4 ,30); char *nombre3 = "bbb"; char *pais3 = "pepe2"; jugador *pepe3 = crear_jugador(nombre3 ,pais3, 4 ,30); lista *l = lista_crear(); insertar_ordenado(l,pepe,(tipo_funcion_cmp)&menor_jugador); insertar_ordenado(l,pepe2,(tipo_funcion_cmp)&menor_jugador); insertar_ordenado(l,pepe3,(tipo_funcion_cmp)&menor_jugador); lista *pop = mapear(l, (tipo_funcion_mapear)&normalizar_jugador); lista_imprimir(pop,"ultimoTest.txt",(tipo_funcion_imprimir)&imprimir_jugador); lista *l2 = filtrar_jugadores(l, (tipo_funcion_cmp)&pais_jugador,(void*) l->primero); assert(menor_jugador(l->primero->datos,l2->primero->datos) && menor_jugador(l2->primero->datos,l->primero->datos)); lista_imprimir(l2,"swapsds",(tipo_funcion_imprimir)&imprimir_jugador); lista_borrar(pop,(tipo_funcion_borrar) &borrar_jugador); lista_borrar(l2,(tipo_funcion_borrar) &borrar_jugador); lista_borrar(l,(tipo_funcion_borrar) &borrar_jugador); return 0; }