Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define MAX 5
- typedef struct red { int niz[MAX]; int f, r; } RED;
- int isFull(RED *bafer) { return (bafer->r + 1) % MAX == bafer->f; }
- int isEmpty(RED *bafer) { return bafer->f == -1; }
- int dodaj(RED *bafer, int podatak)
- {
- if (isFull(bafer))
- return 0;
- if (bafer->f == -1)
- bafer->f = 0;
- bafer->r = (bafer->r + 1) % MAX;
- bafer->niz[bafer->r] = podatak;
- return 1;
- }
- int brisi(RED *bafer, int *podatak)
- {
- if (isEmpty(bafer))
- return 0;
- *podatak = bafer->niz[bafer->f];
- if (bafer->f == bafer->r)
- bafer->f = bafer->r = -1;
- else
- bafer->f = (bafer->f + 1) % MAX;
- return 1;
- }
- int pisi(RED *bafer) {
- if (isEmpty(bafer))
- return 0;
- int i = bafer->f;
- if (bafer->f <= bafer->r)
- {
- while (i <= bafer->r)
- printf("%d ", bafer->niz[i++]);
- }
- else
- {
- while (i <= MAX - 1)
- printf("%d ", bafer->niz[i++]);
- i = 0;
- while (i <= bafer->r)
- printf("%d ", bafer->niz[i++]);
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement