Friday, October 26, 2018

Circular queue

#include<iostream>
using namespace std;
class list
{
private:
int queuerear;
int queuefront;
int maximumsize;
int queue[5];
int i;
int data;
public:
void initialize ();
bool isemptyqueue();
bool isfullqueue();
void insert(int num);
void deletee();
void print();
void show();
};
void list::initialize()
{
queuerear=-1;
queuefront=-1;
maximumsize=5;
}
bool list::isemptyqueue()
{
return(queuerear==-1);
}
bool list::isfullqueue()
{
return(queuerear== maximumsize);
}
void list::insert(int num)
{
if(((queuerear+1)%maximumsize==queuefront))
{
cout<<"queue_is__full"<<endl;
}
else
{

queuerear=(queuerear+1)%maximumsize;
queue[queuerear]=num;
queuefront=0;

}
}
void list::print()
{
if(isemptyqueue())
{
cout<<"queue is empty"<<endl;

}
else
{

if(queuefront<queuerear)
{
cout<<"values in your queue"<<endl;
for(i=queuefront;i<=queuerear;i++)
{
cout<<queue[i]<<endl;;
}
}
else
{
if(i=queuefront)
{

while(i<maximumsize)
{
cout<<queue[i];
i++;
}
}
else
{
i=0;
while(i<queuerear)
{
cout<<queue[i]<<",";
i++;
}
}
}
}
}
void list::deletee()
{
if(isemptyqueue())
{
cout<<"queue-is-empty";
}

else if(queuefront==queuerear)
queuefront=queuerear=-1;
else
{
queuefront=(queuefront+1)%maximumsize;
data=queue[queuefront];
}


}
void list::show()
{
if(isemptyqueue())
{
cout<<"queue is empty"<<endl;

}
else
{
cout<<"element at front is"<<queue[queuefront]<<endl;
}

}

int main()
{

list obj;
obj.initialize();
int n,i,choice;
while(1)
{
cout<<"___________________________________________________________________"<<endl;
cout<<"there are option to chose anyone according to your desire"<<endl;
cout<<"\t\tpress 1 for enter"<<endl;
cout<<"\t\tpress 2 for delete"<<endl;
cout<<"\t\tpress 3 for display"<<endl;
cout<<"\t\tpress 4 for exit"<<endl;
cin>>choice;
cout<<"____________________________________________________________________"<<endl;


switch(choice)
{
case 1:
cout<<"enter queue values"<<endl;
cin>>n;
obj.insert(n);
break;
        case 2:
obj.deletee();
        break;
        case 3:
        obj.print();
        case 4:
        break;
        default:
        cout<<"invalid choice"<<endl;
}
}


return 0;

}

No comments:

Post a Comment