/* * Program to test "linked list of integers" code. */ #include #include #include "int-list.h" int main(void) { int_list_t * list; int i, rcount; int data[] = { 2, 4, 6, 8, 4, 12 }; int to_remove[] = { 4, 0, 2, 12 }; /* create list */ if ((list = int_list_create()) == NULL) { fprintf(stderr, "could not create list\n"); return EXIT_FAILURE; } /* print */ fprintf(stdout, "\ninitial list contents:\n"); int_list_print(stdout, " %d\n", list); fprintf(stdout, "\n"); /* insert some things */ for (i = 0; i < sizeof(data)/sizeof(data[0]); ++i) { if (int_list_insert(list, data[i]) == -1) { fprintf(stdout, "unable to insert %d\n", data[i]); } else { fprintf(stdout, "inserted %d\n", data[i]); } } /* print */ fprintf(stdout, "\nlist contents after inserts:\n"); int_list_print(stdout, " %d\n", list); fprintf(stdout, "\n"); /* remove some things */ for (i = 0; i < sizeof(to_remove)/sizeof(to_remove[0]); ++i) { rcount = int_list_remove(list, to_remove[i]); fprintf(stdout, "removed %d instances of %d\n", rcount, to_remove[i]); } /* print */ fprintf(stdout, "\nlist contents after removes:\n"); int_list_print(stdout, " %d\n", list); fprintf(stdout, "\n"); /* free list */ int_list_free(list); return EXIT_SUCCESS; }