Simple ArrayList and FIFO for C projects
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

#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;
}