Advertisement
Guest User

Untitled

a guest
Dec 4th, 2016
300
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.85 KB | None | 0 0
  1. #include "FIFO.h"
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. void Init(FIFO *val)
  6. {
  7.     val->arr = (char*)malloc(sizeof(char)*_SIZE);
  8.     val->amount = 0;
  9.     val->read = 0;
  10.     val->write = 0;
  11. }
  12.  
  13. void Push(FIFO *val, char c)
  14. {
  15.     if(val->amount == _SIZE)
  16.     {
  17.         printf("Queue is full, cannot push!\n");
  18.         return;
  19.     }
  20.     val->arr[val->write] = c;
  21.     val->write = (val->write+1) % _SIZE;
  22.     val->amount++;
  23.     return;
  24. }
  25.  
  26. char Pop(FIFO *val)
  27. {
  28.     char c;
  29.     if(val->amount == 0)
  30.     {
  31.         printf("Queue is empty, cannot pop!\n");
  32.         return 0;
  33.     }
  34.     c = val->arr[val->read];
  35.     val->read = (val->read + 1) % _SIZE;
  36.     val->amount--;
  37.     return c;
  38. }
  39.  
  40. char First(FIFO *val)
  41. {
  42.     char c;
  43.     if(val->amount == 0)
  44.     {
  45.         printf("Queue is empty, cannot top!\n");
  46.         return 0;
  47.     }
  48.     c = val->arr[val->read];
  49.     return c;
  50. }
  51.  
  52. int GetAmount(FIFO *val)
  53. {
  54.     return val->amount;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement