main.c 999 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #include "../headers/kiyomitree.h"
  2. #include <stdio.h>
  3. void print_elements(void** array){
  4. size_t current_elements = *(size_t*)(array[-1]);
  5. for (size_t i = 0; i < current_elements; i++){
  6. printf((char*)array[i]);
  7. }
  8. printf("\n");
  9. }
  10. int main(){
  11. char* a = "Hello, ";
  12. char* b = "World!";
  13. char* c = "Dynamic Arrays ";
  14. char* d = "\b!";
  15. char* e = "Dylan the dynamic array lover says: ";
  16. void** array = KT_new_array(0);
  17. // add A to array
  18. KT_append(&array, a);
  19. print_elements(array);
  20. // add B to end of array
  21. KT_append(&array, b);
  22. print_elements(array);
  23. // add C to the left of B
  24. KT_insert_left(&array, c, 1);
  25. print_elements(array);
  26. // remove B from array
  27. KT_drop(&array, 2);
  28. // add D to end of array
  29. KT_append(&array, d);
  30. print_elements(array);
  31. // add E to the beginning of the linked list that contains A
  32. KT_prepend(&array, e);
  33. print_elements(array);
  34. return 0;
  35. }