55 lines
1.4 KiB
C
55 lines
1.4 KiB
C
#include "libtf.h"
|
|
#include <stdio.h>
|
|
|
|
void err(t_const_string msg)
|
|
{
|
|
printf("error: %s\n", msg);
|
|
}
|
|
|
|
int main()
|
|
{
|
|
t_memclass mc = mem_newclass(&err);
|
|
int tab[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
|
|
|
|
t_list list = list_createempty(mc);
|
|
for (int i = 0; i < 5; i++)
|
|
list_add(&err, &list, &tab[i]);
|
|
for (int i = 5; i < 10; i++)
|
|
list_revadd(&err, &list, &tab[i]);
|
|
printf("9 8 7 6 5 0 1 2 3 4 = ");
|
|
for (int i = 0; i < 10; i++)
|
|
printf("%i ", *(int *)list_get(&err, &list, i));
|
|
printf("\n10 = %i\n", list_getsize(&list));
|
|
list_rotate(&list);
|
|
printf("8 7 6 5 0 1 2 3 4 9 = ");
|
|
for (int i = 0; i < 10; i++)
|
|
printf("%i ", *(int *)list_get(&err, &list, i));
|
|
list_revrotate(&list);
|
|
printf("\n9 8 7 6 5 0 1 2 3 4 = ");
|
|
for (int i = 0; i < 10; i++)
|
|
printf("%i ", *(int *)list_get(&err, &list, i));
|
|
|
|
printf("\n\n2 index errors:\n");
|
|
list_get(&err, &list, -1);
|
|
list_get(&err, &list, 10);
|
|
|
|
printf("10 = %i\n", list_getsize(&list));
|
|
printf("\n");
|
|
for (int i = 9; i > 4; i--)
|
|
{
|
|
int value = *(int *)list_pop(&err, &list);
|
|
printf("%i = %i\n", i, value);
|
|
}
|
|
printf("5 = %i\n", list_getsize(&list));
|
|
for (int i = 4; i >= 0; i--)
|
|
{
|
|
int value = *(int *)list_revpop(&err, &list);
|
|
printf("%i = %i\n", i, value);
|
|
}
|
|
printf("0 = %i\n", list_getsize(&list));
|
|
printf("\n2 empty list errors:\n");
|
|
list_pop(&err, &list);
|
|
list_revpop(&err, &list);
|
|
mem_freeall(mc);
|
|
printf("\nMust have no leaks\n");
|
|
}
|