Circular QUEUE In c++

Hai Teman-teman,disini saya akan sharing sedikit tentang contoh program dari Circular QUEUE,oke teman-teman ini dia contoh program nya:

CIRCULAR QUEUE IN C++
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
using namespace std;

const int maxs = 5;
const int maxq = 5;

typedef struct
         { char isi[maxq];
           int front,rear;
         } queue;

void initqueue(queue &Q)
{ Q.front =0 ;Q.rear =-1 ;
  for(int i=0;i<maxq;i++) Q.isi[i]=48;
}

void enqueue(queue &Q,char x)
{ if((Q.isi[(Q.rear+1)%maxq])==48) {
   Q.rear++;
   Q.rear=Q.rear % maxq;
   Q.isi[Q.rear ]=x ;
   cout<<"enqueue q["<<Q.rear<<"]="<<x<<endl;
  }
  else cout<<"full\n";
}

void dequeue(queue &Q,char &x)
{ if(Q.isi[Q.front]==48) cout<<"Empty";
  else {
   Q.front=Q.front % maxq;
   x=Q.isi[Q.front] ;
   Q.isi[Q.front]=48;

   cout<<"dequeque q["<<Q.front <<"]= "<<x<<endl;
   cout<<"Isi q["<<Q.front <<"]="<<Q.isi[Q.front]<<endl;
   Q.front++;
  }
}

void PrintQueue(queue Q)
{
   for(int i=0;i<maxq;i++){
           if(Q.isi[(Q.front+i)%maxq]!= 48){
     cout<<Q.isi[(Q.front+i)%maxq]<<" ";}}
   cout<<endl;

}


main()
{
 queue Q1;
 int i,n;
 char x;
  cout<<"Masukkan Data : ";cin>>n;

  initqueue(Q1);
  for (i=0;i<n;i++) {
    x=(65+rand()%26);
    enqueue(Q1,x);
  }

  cout<<endl;
  PrintQueue(Q1);

  dequeue(Q1,x);
  x='X';
  enqueue(Q1,x);
  cout<<endl;
  PrintQueue(Q1);
 
  dequeue(Q1,x);
  x='Y';
  enqueue(Q1,x);
  cout<<endl;
  PrintQueue(Q1);
  dequeue(Q1,x);
  x='T';
  enqueue(Q1,x);
  cout<<endl;
  PrintQueue(Q1);

  dequeue(Q1,x);
  dequeue(Q1,x);
  PrintQueue(Q1);

  getch();
}

Author image
About the Author :

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum.

Connect with him on :