#include #include "doll.h" void iter(doll_t *list) { int i; char *elm; printf("\nIterando (for)...\n"); for (i = 0; i < list->length; i++) printf("%s\n", doll_at(list, i)); printf("\nIterando (doll_foreach)...\n"); doll_foreach(elm, list) printf("%s\n", elm); printf("\nIterando al revés (for)...\n"); for (i = -1; -i <= list->length; i--) printf("%s\n", doll_at(list, i)); printf("\nIterando al revés (doll_foreach)...\n"); doll_foreach_r(elm, list) printf("%s\n", elm); } void iter_doll(doll_t *list) { } int main(void) { char *data1 = "Uno"; char *data2 = "Dos"; char *data3 = "Tres"; char *data4 = "Cuatro"; doll_t *mylist = doll_new(); doll_t *mylist2 = doll_new(); int i; doll_append(mylist, data1); doll_append(mylist, data2); doll_append(mylist, data3); doll_append(mylist, data4); printf("Tamaño: %d\n", mylist->length); printf("\nPrimer elemento: %s\n", (char *)doll_first(mylist)); iter(mylist); printf("\nEliminando %s...\n", data2); doll_remove(mylist, data2); printf("\nTamaño: %d\n", mylist->length); printf("\nÚltimo elemento: %s\n", (char *)doll_last(mylist)); iter(mylist); printf("\nPush \"p1\"\n"); doll_push(mylist, "p1"); printf("Push \"p2\"\n"); doll_push(mylist, "p2"); while (mylist->head) { printf("Pop: %s\n", (char *)doll_pop(mylist)); printf("Tamaño: %d\n", mylist->length); } for (i = 0; i < 3; i++) doll_push(mylist2, "waka"); iter(mylist2); while (mylist2->head) { printf("Pop: %s\n", (char *)doll_pop(mylist2)); printf("Tamaño: %d\n", mylist2->length); } doll_destroy(mylist); doll_destroy(mylist2); return 0; }