Advertisement
Guest User

Untitled

a guest
Mar 25th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. #include "intel_stack_lib.h"
  2. #include <stdlib.h>
  3. #include <stdio.h>
  4. #include <stdbool.h>
  5.  
  6. void init(stack_s * s, int size) {
  7.  
  8. s->stack_size = size;
  9. s->stack = calloc(size, sizeof(int));
  10. s->stack_pointer = size;
  11.  
  12. }
  13.  
  14. bool is_empty(stack_s * s) {
  15.  
  16. if (s->stack_pointer == s->stack_size) {
  17. return true;
  18. }
  19. else {
  20. return false;
  21. }
  22.  
  23. }
  24.  
  25. bool is_full(stack_s * s) {
  26.  
  27. if (s->stack_pointer == 0) {
  28. return true;
  29. }
  30. else {
  31. return false;
  32. }
  33.  
  34. }
  35.  
  36. bool push(stack_s * s, int * data) {
  37.  
  38. if (!is_full(s)) {
  39. s->stack[--(s->stack_pointer)] = *data;
  40. return true;
  41. }
  42. else {
  43. return false;
  44. }
  45.  
  46. }
  47.  
  48.  
  49. bool pop(stack_s * s, int * data) {
  50.  
  51. if (!is_empty(s)) {
  52. *data = s->stack[(s->stack_pointer)++];
  53. return true;
  54. }
  55. else {
  56. return false;
  57. }
  58.  
  59. }
  60.  
  61. void destroy(stack_s * s) {
  62.  
  63. free(s->stack);
  64.  
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement