Guest User

Untitled

a guest
Apr 21st, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. #include "./vector.h"
  2.  
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <time.h>
  6.  
  7. VECTOR_GEN(long);
  8. typedef struct vector_long v_long;
  9.  
  10. int main()
  11. {
  12. srand(time(NULL));
  13.  
  14. v_long example;
  15. vt_long.init(&example);
  16.  
  17. for (size_t i = 1; i <= 15; i++)
  18. vt_long.push_back(&example, i);
  19.  
  20. // begin, at and end return pointers, front and back return values
  21. long *begin = vt_long.begin(&example);
  22. size_t index = 0;
  23.  
  24. while (begin != vt_long.end(&example)) {
  25. printf("index %ld: %ld\n", index, *begin);
  26. index++;
  27. begin++;
  28. }
  29.  
  30. while (!vt_long.empty(&example)) {
  31. printf("poped: %ld\t", vt_long.pop_back(&example));
  32. printf("new size: %ld\n", example.size);
  33. }
  34.  
  35. vt_long.free(&example);
  36.  
  37. return 0;
  38. }
  39.  
  40. /*
  41. * $ gcc ./test.c vector.h
  42. * $ ./a.out
  43. * index 0: 1
  44. * index 1: 2
  45. * index 2: 3
  46. * index 3: 4
  47. * index 4: 5
  48. * index 5: 6
  49. * index 6: 7
  50. * index 7: 8
  51. * index 8: 9
  52. * index 9: 10
  53. * index 10: 11
  54. * index 11: 12
  55. * index 12: 13
  56. * index 13: 14
  57. * index 14: 15
  58. * poped: 15 new size: 14
  59. * poped: 14 new size: 13
  60. * poped: 13 new size: 12
  61. * poped: 12 new size: 11
  62. * poped: 11 new size: 10
  63. * poped: 10 new size: 9
  64. * poped: 9 new size: 8
  65. * poped: 8 new size: 7
  66. * poped: 7 new size: 6
  67. * poped: 6 new size: 5
  68. * poped: 5 new size: 4
  69. * poped: 4 new size: 3
  70. * poped: 3 new size: 2
  71. * poped: 2 new size: 1
  72. * poped: 1 new size: 0
  73. */
Add Comment
Please, Sign In to add comment