1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
#include <stdio.h>
#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;
}
|