You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.0 KiB
89 lines
2.0 KiB
#include "datatypes.h" |
|
#include "stdio.h" |
|
|
|
int basic_test(void) { |
|
// test |
|
int a[] = {1,2,3,4,5}; |
|
ArrayList l = new_arlst_from_array(a, sizeof(int), 5); |
|
for (int i = 0; i < l.size; i++) printf("%d\n", *(int*)arlst_get(&l, i)); |
|
printf("\n\n"); |
|
|
|
arlst_pop(&l); |
|
for (int i = 0; i < l.size; i++) printf("%d\n", *(int*)arlst_get(&l, i)); |
|
printf("\n\n"); |
|
|
|
int *g = malloc(sizeof(int)); |
|
*g = 10; |
|
arlst_add(&l, g); |
|
for (int i = 0; i < l.size; i++) printf("%d\n", *(int*)arlst_get(&l, i)); |
|
printf("\n\n"); |
|
|
|
arlst_del(&l, 3); |
|
for (int i = 0; i < l.size; i++) printf("%d\n", *(int*)arlst_get(&l, i)); |
|
printf("\n\n"); |
|
|
|
arlst_pop(&l); |
|
for (int i = 0; i < l.size; i++) printf("%d\n", *(int*)arlst_get(&l, i)); |
|
printf("\n\n"); |
|
arlst_push(&l, g); |
|
for (int i = 0; i < l.size; i++) printf("%d\n", *(int*)arlst_get(&l, i)); |
|
printf("\n\n"); |
|
|
|
for (int i = 0; i < 20; i++) { |
|
int *b = malloc(sizeof(int)); |
|
*b = i; |
|
arlst_add(&l, b); |
|
} |
|
|
|
for (int i = 0; i < l.size; i++) printf("%d\n", *(int*)arlst_get(&l, i)); |
|
printf("\n\n"); |
|
|
|
arlst_destroy(&l); |
|
|
|
printf("\n\nFIFOS \n\n"); |
|
|
|
ListFiFo f = new_fifo(10); |
|
for (int i = 0; i < 100; i++) { |
|
int *b = malloc(sizeof(int)); |
|
*b = i; |
|
fifo_add(&f, b); |
|
} |
|
for (int i = 0; i < 90; i++) { |
|
int *b = malloc(sizeof(int)); |
|
*b = i; |
|
int *aa = fifo_get(&f); |
|
free(aa); |
|
} |
|
for (int i = 0; i < 10; i++) { |
|
int * a = fifo_get(&f); |
|
printf("ff: %d\n", *a); |
|
free(a); |
|
} |
|
|
|
int * z = fifo_get(&f); |
|
printf("ff: %p\n", z); |
|
free(z); |
|
z = fifo_get(&f); |
|
printf("ff: %p\n", z); |
|
free(z); |
|
|
|
for (int i = 0; i < 20; i++) { |
|
int *b = malloc(sizeof(int)); |
|
*b = i; |
|
fifo_add(&f, b); |
|
} |
|
for (int i = 0; i < 20; i++) { |
|
int * a = fifo_get(&f); |
|
printf("ff: %d\n", *a); |
|
free(a); |
|
} |
|
|
|
|
|
return 0; |
|
} |
|
|
|
|
|
int main(int argc, char **argv) { |
|
basic_test(); |
|
return 0; |
|
}
|
|
|