Glaas2

cola_est

Jun 14th, 2012
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.14 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #define TAM_MAX 10
  4.  
  5. typedef struct Cola
  6. {
  7. int inicio, final, cont;
  8. int elementos[TAM_MAX];        
  9. }cola;
  10.  
  11. void Initialize(cola *q)
  12. {
  13.  q->inicio=0;
  14.  q->final=0;
  15.  q->cont=0;  
  16. }
  17.  
  18. int IsFull(cola *q)
  19. {
  20.  if(q->cont==TAM_MAX)
  21.    return 1;
  22.  return 0;  
  23. }
  24.  
  25. int IsEmpty(cola *q)
  26. {
  27.  if(q->cont==0)
  28.    return 1;
  29.  return 0;  
  30. }
  31.  
  32. int Queue(cola *q, int dato)
  33. {
  34. if(IsFull(q))
  35.   return 0;
  36. q->elementos[q->final]=dato;
  37. (q->cont)++;
  38. (q->final)++;
  39. q->final=(q->final)%TAM_MAX;    
  40. return 1;    
  41. }
  42.  
  43. int Dequeque(cola *q, int *dato)
  44. {
  45. if(IsEmpty(q))
  46.   return 0;
  47. *dato=q->elementos[q->inicio];
  48. (q->cont)--;
  49. (q->inicio)++;
  50. q->inicio=(q->inicio)%TAM_MAX;    
  51. return 1;
  52. }
  53.  
  54. int Purge(cola *q)
  55. {
  56. if(IsEmpty(q))
  57.   return 0;    
  58. int i=0;
  59. for(i=0;i<=TAM_MAX;i++)
  60. {
  61. q->elementos[i]=0;                      
  62. }
  63. Initialize(q);
  64. return 1;    
  65. }
  66.  
  67. int Show(cola *q)
  68. {
  69. if(IsEmpty(q))
  70.   return 0;    
  71. int i=0;
  72. for(i=0;i<=TAM_MAX;i++)
  73.   {
  74.    printf("Posicion       Dato");
  75.    printf("%d       %d", i, q->elementos[i]);                      
  76.   }  
  77. return 1;  
  78. }
  79.  
  80. main()
  81. {
  82.      
  83. }
Advertisement
Add Comment
Please, Sign In to add comment