PS im beginner in c so can you mate as simple pleaseSolution
PS: im beginner in c++ so can you mate as simple please
Solution
a) Array Based
#include<iostream>
#include<conio.h>
#include<stdlib.h>
using namespace std;
class queue
{
int queue1[5];
int rear,front;
public:
queue()
{
rear=-1;
front=-1;
}
void insert(int x)
{
if(rear > 4)
{
cout <<\"queue over flow\";
front=rear=-1;
return;
}
queue1[++rear]=x;
cout <<\"inserted\" <<x;
}
void delet()
{
if(front==rear)
{
cout <<\"queue under flow\";
return;
}
cout <<\"deleted\" <<queue1[++front];
}
void display()
{
if(rear==front)
{
cout <<\" queue empty\";
return;
}
for(int i=front+1;i<=rear;i++)
cout <<queue1[i]<<\" \";
}
};
main()
{
int ch;
queue qu;
while(1)
{
cout <<\"\ 1.insert 2.delet 3.display 4.exit\ Enter ur choice\";
cin >> ch;
switch(ch)
{
case 1: cout <<\"enter the element\";
cin >> ch;
qu.insert(ch);
break;
case 2: qu.delet(); break;
case 3: qu.display();break;
case 4: exit(0);
}
}
return (0);
}
b) Single linked list Based
#include<iostream>
#include<conio.h>
#include<stdlib.h>
using namespace std;
class node
{
public:
class node *next;
int data;
};
class queue : public node
{
node *head;
int front,rare;
public:
queue()
{
front=-1;
rare=-1;
}
void push(int x)
{
if (rare < 0 )
{
head =new node;
head->next=NULL;
head->data=x;
rare ++;
}
else
{
node *temp,*temp1;
temp=head;
if(rare >= 4)
{
cout <<\"queue over flow\";
return;
}
rare++;
while(temp->next != NULL)
temp=temp->next;
temp1=new node;
temp->next=temp1;
temp1->next=NULL;
temp1->data=x;
} }
void display()
{
node *temp;
temp=head;
if (rare < 0)
{
cout <<\" queue under flow\";
return;
}
while(temp != NULL)
{
cout <<temp->data<< \" \";
temp=temp->next;
}
}
void pop()
{
node *temp;
temp=head;
if( rare < 0)
{
cout <<\"queue under flow\";
return;
}
if(front == rare)
{
front = rare =-1;
head=NULL;
return;
}
front++;
head=head->next;
}
};
main()
{
queue s1;
int ch;
while(1)
{
cout <<\"\ 1.PUSH\ 2.POP\ 3.DISPLAY\ 4.EXIT\ enter ru choice:\";
cin >> ch;
switch(ch)
{
case 1:
cout <<\"\ enter a element\";
cin >> ch;
s1.push(ch); break;
case 2: s1.pop();break;
case 3: s1.display();break;
case 4: exit(0);
}
}
return (0);
}


