Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <commons/collections/list.h>
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- t_list *lista = list_create();
- //definís la estructura
- typedef struct
- {
- int campo1_lista;
- char campo2_lista;
- t_list *sublista;
- } campos;
- //declarás la estructura
- campos estructura_campos;
- // la llenás
- estructura_campos.campo1_lista = 1;
- estructura_campos.campo2_lista = 'a';
- estructura_campos.sublista = list_create();
- //le clavás un puntero
- campos *puntero_a_estructura_campos = malloc(sizeof(campos));
- *puntero_a_estructura_campos = estructura_campos;
- list_add(lista,puntero_a_estructura_campos);
- //ok, ahora ya está agregado. Para ver lo que agregaste, hacés (obviamente podés volver a usar el otro puntero pero así es más genérico)
- campos *aux = list_get(lista,0);
- printf("campo 1 lista: %i\n",aux->campo1_lista);
- printf("campo 1 lista: %c\n",aux->campo2_lista);
- //ahora le agrego uno en la sublista
- typedef struct
- {
- int campo1_sublista;
- char campo2_sublista;
- }campos_sublista;
- campos_sublista estructura_campos_sublista;
- estructura_campos_sublista.campo1_sublista=2;
- estructura_campos_sublista.campo2_sublista='b';
- campos_sublista *puntero_a_estructura_campos_sublista = malloc(sizeof(campos_sublista));
- *puntero_a_estructura_campos_sublista = estructura_campos_sublista;
- list_add(aux->sublista,puntero_a_estructura_campos_sublista);
- //para ver lo que agregaste
- campos_sublista *aux_sublista = list_get(aux->sublista,0);
- printf("campo 1 sub_lista: %i\n",aux_sublista->campo1_sublista);
- printf("campo 1 sub_lista: %c\n",aux_sublista->campo2_sublista);
- bool _campo1_igual_a_1(void *posicion)
- {
- return ((campos *)posicion)->campo1_lista == 1;
- }
- bool _campo1_igual_a_0(void *posicion)
- {
- return ((campos *)posicion)->campo1_lista == 0;
- }
- bool alguno_satisface = list_any_satisfy(lista, (void*)_campo1_igual_a_1);
- printf("alguna satisface la condición: %i\n",alguno_satisface);
- alguno_satisface = list_any_satisfy(lista, (void*)_campo1_igual_a_0);
- printf("alguna satisface la condición: %i\n",alguno_satisface);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement