News
  • Submission of Theory Assignments 6,7,8 of OS on 1st April
  • Case Study Presentation of OS on 4st April
  • CN and PNS Journal Submission on 6th April

DS (RM) Program - Stack And Queue: Circular Queue

DS (RM) Program - Stack And Queue: Circular Queue





  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
#include<iostream.h>                         
#include<conio.h>                            
#include<stdlib.h>                           
class Queue                                  
{                                            
        int qary[10];                        
        int front, count, rear;              
                                             
        public :                             
        Queue()                              
        {                                    
                front = -1;                  
                rear = -1;                   
                count = 0;                   
        }                                    
                                             
        void enqueue(int element)            
        {                                    
                                             
                if(count==10)                
                {                                    {                                           
                cout<<"Cant Enqueue an element ...";
        }                                           
        else                                        
        {                                           
                rear++;                             
                qary[rear] = element; 

   if(rear==3)                             
   {                                       
           cout<<"Circuler Enqueue ...";   
           rear=0;                         
   }                                                     
                                                    
                if(count==0)                        
                {                                   
                        front = 0;                  
                        count = 1;               
                }                                   
                else                                
                        count++;                    
        }                                           
        cout<<"Queue count is : "<<count<<endl;     
}                                                   
                                                    
void dequeue()                                      
{                                                                         
        int i;                                                
                                                              
        if(!count)                                            
        {                                                     
                cout<<"Cant dequeue element from queue ...\n";
        }                                                     
        else                                                  
        {                                                     
         i = qary[front];                         
                qary[front]  = 0;                                                   
   front++;                                  
   if(count==3)                              
    {                                         
             cout<<"Circular Dequeue ...\n";  
    }                                         
                                
                                                   
                if(count==1)                                  
                        rear = front = -1;                    
                                                              
                count--;                                      
                cout<<"\n The element dequeue is : "<<i<<endl;
                cout<<"\n Queue count is : "<<count<<endl;    
        }                                                     
}
                                                             
};
                                                                         
void main()                                                              
{                                                                        
        int item, n, cnt, flag;                                          
        Queue q1;   
        clrscr();                                                        
        while(1)                                                         
        {                                                                
                cout<<"1. Enqueue \n";                                   
                cout<<"2. Dequeue \n";                                   
                cout<<"3. Quit \n";                                      
                                                                         
                cout<<"Enter Option : ";                                 
                cin>>n;                                                  
                                                                        
                switch(n)                                                
                {                                                        
                        case 1:                                          
                           cout<<"Input item to be inserted\n";
                                cin>>item;                                    
                                q1.enqueue(item);                             
                        break;                                                
                                                                              
                        case 2:                                               
                                q1.dequeue();                                 
                        break;                                                
                                                                              
                        case 3:                                               
                                exit(1);                                      
                        break;                                                
                                                                              
                        default:                                              
                                cout<<"Illegal option ...!!!!\n";             
                }                                                             
        }                                                                     
}      

Output:

1. Enqueue
2. Dequeue
3. Quit
Enter Option : 1
Input item to be inserted
12
Queue count is : 1
1. Enqueue
2. Dequeue
3. Quit
Enter Option : 1
Input item to be inserted
4
Queue count is : 2
1. Enqueue
2. Dequeue
3. Quit
Enter Option : 2

 The element dequeue is : 12

 Queue count is : 1
1. Enqueue
2. Dequeue
3. Quit
Enter Option : 2

 The element dequeue is : 4

 Queue count is : 0
1. Enqueue
2. Dequeue
3. Quit
Enter Option : 2

Cant dequeue element from queue ...
1. Enqueue
2. Dequeue
3. Quit
Enter Option :3
© Copyright NMITD MCA Notes Published.. Blogger Templates
Back To Top