Facebook
From alguém, 7 Months ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 414
  1. #include <stdio.h>
  2.  
  3. #define Max 50
  4.  
  5. int valor[Max];
  6. int total;
  7. int comeco;
  8. int final;
  9.  
  10. void qinit();
  11. int qisFull();
  12. int qisEmpty();
  13. void enqueue(int x);
  14. int dequeue ();
  15.  
  16. void qinit()
  17. {
  18.      total=0;
  19.      comeco=0;
  20.      final=0;
  21. }
  22.  
  23. int qisFull()
  24. {
  25.     return (total==Max);
  26. }
  27.  
  28. int qisEmpty()
  29. {
  30.     return (total==0);
  31. }
  32.  
  33. void enqueue(int x)
  34. {
  35.      if (qisFull()==0)
  36.      {
  37.         valor[final]=x;
  38.         final++;
  39.        
  40.         if(final==Max)
  41.           final=0;
  42.        
  43.         total++;
  44.      }
  45.      else
  46.         printf("nFila Cheia nn");
  47. }
  48.  
  49. int dequeue ()
  50. {
  51.      int x;  
  52.      if (qisEmpty()==0)
  53.      {
  54.         x=valor[comeco];
  55.         comeco++;
  56.        
  57.         if (comeco==Max)
  58.             comeco=0;
  59.        
  60.         total--;
  61.            
  62.         return x;
  63.      }
  64.      else
  65.         printf("nFila Vazia nn");
  66. }
  67.  
  68. void printqueue ()
  69. {
  70.      for(int i=comeco; i<final; i++)
  71.         printf(" - %d",valor[i]);
  72. }
  73.  
  74. int main()
  75. {
  76.   qinit(); //Inicia Fila
  77.   enqueue(500); //Inclui na Fila
  78.   enqueue(150); //Inclui na Fila
  79.   enqueue(300); //Inclui na Fila
  80.   printf("nn Fila apos a inserção");
  81.   printqueue(); //Mostra Fila
  82.   dequeue(); //Tira da Fila
  83.   printf("nn Fila apos a remocao");
  84.   printqueue(); //Mostra Fila
  85.  
  86.   return 0;
  87. }