#include <stdio.h>
#include <string.h>
#include <math.h>
#define MAX 25
typedef struct
{
        int item
[MAX];
        int front;
        int rear;
        int count;
}Queue;
void InitializeQueue(Queue *Q)
{
     Q->front = 0;
     Q->rear = 0;
     Q->count = 0;
}
int EmptyQueue(Queue *Q)
{
    return
(Q->count == 0);
}
int FullQueue(Queue *Q)
{
    return
(Q->count==MAX);
}
void Enqueue(int x, Queue *Q)
{
     if (FullQueue(Q))
        printf
("Queue penuh!! Data tidak dapat masuk!!");
     else
     {
         Q->item
[Q->rear]=x;
        
Q->rear=(Q->rear+1)%MAX;
        
++(Q->count);
     }
}
int Dequeue (Queue *Q)
{
    int temp;
      if (EmptyQueue(Q))//stack
kosong
     
printf("Queue masih kosong!");
      else
      {
         
temp=Q->item[Q->front];
         
Q->front=(Q->front+1)%MAX;
         
--(Q->count);
          return temp;
      }
}
int main ()
{
     Queue qk;
     int n, i, bil,
hsl;
    
InitializeQueue(&qk);
    
printf("Jumlah Data Yang Anda Masukan Adalah : ");
    
scanf("%d",&n);
    
for(i=0;i<n;i++)
     {
                    
printf("Masukkan data ke-%d: ",i+1);
                    
scanf("%d",&bil);
                    
Enqueue(bil, &qk);
     }
     printf("Isi
dari Queue adalah : ");
    
for(i=0;i<n;i++)
     {
                    
hsl=Dequeue(&qk);
                    
printf("%d",hsl);
     }
     }
output : 
 
0 comments:
Post a Comment