#include<bits/stdc++.h>
using namespace std;
struct node
{
int data;
struct node *next;
}*node;
struct head
{
int count;
struct node *frnt;
struct node *rear;
}*head;
struct head1
{
int count1;
struct node *frnt1;
struct node *rear1;
}*head1;
void create_head()
{
head=(struct head*)malloc(sizeof(struct head));
head->count=0;
head->frnt=NULL;
head->rear=NULL;
}
void create_head1()
{
head1=(struct head1*)malloc(sizeof(struct head1));
head1->count1=0;
head1->frnt1=NULL;
head1->rear1=NULL;
}
void create_node(int data)
{
node=(struct node*)malloc(sizeof(struct node));
node->data=data;
node->next=NULL;
}
void enqueue(int data)
{
create_node(data);
if(head->count==0)
{
head->frnt=node;
head->rear=node;
}
else
{
head->rear->next=node;
head->rear=node;
}
head->count++;
}
int dequeue()
{
int x;
if(head->count==1)
{
x=head->frnt->data;
free(head->frnt);
head->frnt=NULL;
head->rear=NULL;
}
else
{
struct node *temp;
temp=head->frnt;
x=temp->data;
head->frnt=temp->next;
free(temp);
}
head->count--;
return x;
}
void enqueue1(int data)
{
create_node(data);
if(head1->count1==0)
{
head1->frnt1=node;
head1->rear1=node;
}
else
{
head1->rear1->next=node;
head1->rear1=node;
}
head1->count1++;
}
void print1()
{
struct node *temp1;
temp1=head1->frnt1;
while(temp1!=NULL)
{
cout<<temp1->data<<" ";
temp1=temp1->next;
}
cout<<endl<<"Total number of data in new queue is : "<<head1->count1<<endl;
}
int size_q()
{
return head->count;
}
void print()
{
struct node *temp;
temp=head->frnt;
while(temp!=NULL)
{
cout<<temp->data<<" ";
temp=temp->next;
}
cout<<endl<<"Total number of data in queue1 : "<<head->count<<endl;
}
void print2()
{
struct node *temp;
temp=head->frnt;
while(temp!=NULL)
{
cout<<temp->data<<" ";
temp=temp->next;
}
cout<<endl<<"Total number of data after adding the two queues is : "<<head->count+head1->count1<<endl;
}
int main()
{
create_head();
create_head1();
enqueue(35);
enqueue(31);
enqueue(12);
enqueue(98);
enqueue(65);
enqueue(9);
int x=size_q();
while(x--)
{
int y=dequeue();
enqueue1(y);
enqueue(y);
}
print();
print1();
head->rear->next=head1->frnt1;
print2();
return 0;
}
using namespace std;
struct node
{
int data;
struct node *next;
}*node;
struct head
{
int count;
struct node *frnt;
struct node *rear;
}*head;
struct head1
{
int count1;
struct node *frnt1;
struct node *rear1;
}*head1;
void create_head()
{
head=(struct head*)malloc(sizeof(struct head));
head->count=0;
head->frnt=NULL;
head->rear=NULL;
}
void create_head1()
{
head1=(struct head1*)malloc(sizeof(struct head1));
head1->count1=0;
head1->frnt1=NULL;
head1->rear1=NULL;
}
void create_node(int data)
{
node=(struct node*)malloc(sizeof(struct node));
node->data=data;
node->next=NULL;
}
void enqueue(int data)
{
create_node(data);
if(head->count==0)
{
head->frnt=node;
head->rear=node;
}
else
{
head->rear->next=node;
head->rear=node;
}
head->count++;
}
int dequeue()
{
int x;
if(head->count==1)
{
x=head->frnt->data;
free(head->frnt);
head->frnt=NULL;
head->rear=NULL;
}
else
{
struct node *temp;
temp=head->frnt;
x=temp->data;
head->frnt=temp->next;
free(temp);
}
head->count--;
return x;
}
void enqueue1(int data)
{
create_node(data);
if(head1->count1==0)
{
head1->frnt1=node;
head1->rear1=node;
}
else
{
head1->rear1->next=node;
head1->rear1=node;
}
head1->count1++;
}
void print1()
{
struct node *temp1;
temp1=head1->frnt1;
while(temp1!=NULL)
{
cout<<temp1->data<<" ";
temp1=temp1->next;
}
cout<<endl<<"Total number of data in new queue is : "<<head1->count1<<endl;
}
int size_q()
{
return head->count;
}
void print()
{
struct node *temp;
temp=head->frnt;
while(temp!=NULL)
{
cout<<temp->data<<" ";
temp=temp->next;
}
cout<<endl<<"Total number of data in queue1 : "<<head->count<<endl;
}
void print2()
{
struct node *temp;
temp=head->frnt;
while(temp!=NULL)
{
cout<<temp->data<<" ";
temp=temp->next;
}
cout<<endl<<"Total number of data after adding the two queues is : "<<head->count+head1->count1<<endl;
}
int main()
{
create_head();
create_head1();
enqueue(35);
enqueue(31);
enqueue(12);
enqueue(98);
enqueue(65);
enqueue(9);
int x=size_q();
while(x--)
{
int y=dequeue();
enqueue1(y);
enqueue(y);
}
print();
print1();
head->rear->next=head1->frnt1;
print2();
return 0;
}
No comments:
Post a Comment