Advertisement
Guest User

Untitled

a guest
May 23rd, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define MAX 5
  4.  
  5. typedef struct red { int niz[MAX]; int f, r; } RED;
  6.  
  7. int isFull(RED *bafer) { return (bafer->r + 1) % MAX == bafer->f; }
  8. int isEmpty(RED *bafer) { return bafer->f == -1; }
  9. int dodaj(RED *bafer, int podatak)
  10. {
  11. if (isFull(bafer))
  12. return 0;
  13. if (bafer->f == -1)
  14. bafer->f = 0;
  15. bafer->r = (bafer->r + 1) % MAX;
  16. bafer->niz[bafer->r] = podatak;
  17. return 1;
  18. }
  19.  
  20. int brisi(RED *bafer, int *podatak)
  21. {
  22. if (isEmpty(bafer))
  23. return 0;
  24. *podatak = bafer->niz[bafer->f];
  25. if (bafer->f == bafer->r)
  26. bafer->f = bafer->r = -1;
  27. else
  28. bafer->f = (bafer->f + 1) % MAX;
  29. return 1;
  30. }
  31. int pisi(RED *bafer) {
  32. if (isEmpty(bafer))
  33. return 0;
  34. int i = bafer->f;
  35. if (bafer->f <= bafer->r)
  36. {
  37. while (i <= bafer->r)
  38. printf("%d ", bafer->niz[i++]);
  39. }
  40. else
  41. {
  42. while (i <= MAX - 1)
  43. printf("%d ", bafer->niz[i++]);
  44. i = 0;
  45. while (i <= bafer->r)
  46. printf("%d ", bafer->niz[i++]);
  47. }
  48. return 1;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement