Sei sulla pagina 1di 4

#include<iostream>

using namespace std;


class node
{
public:
int data;
node*next;
node(int d)
{
data=d;
next=NULL;
}
};
class stack
{
node*top;
public:
stack(){
top=NULL;}

int l_empty()
{
if(top==NULL)
return 1;
else return 0;}
void push(int v)
{
node*temp=new node(v);

if(l_empty())
{temp->next=top;}
top= temp;}
int pop()
{
int v;
if(!l_empty())
{
v=top->data;
node*temp = top;
top =top->next;
delete temp;
temp=NULL;
return v;
}
else
{ cout<<"stack is empty"<<endl;
return -10;}}

void print()
{
node*curr=top;
while(curr!=NULL)
{
cout<<curr->data<<endl;
curr=curr->next;
}
}};
class linklist
{
node*first;
public:
linklist()
{
first=NULL;
}
void insert(int value)
{
node*temp=new node(value);

if (first==NULL)
{
first=temp;
}
else{
node*last =first;
while(1){
if(last->next==NULL)
break;
else
last=last->next;
}
last->next=temp;}
}
void add_even(linklist l2)
{stack s1;
node*curr=first;
node*ncurr=l2.first;
while(curr!=NULL)
{
if(curr->data%2==0)
{int v=curr->data;
while(ncurr!=NULL)
{
if(ncurr->data%2==0)
{
int c=ncurr->data;
int ans=v+c;
s1.push(ans);
ncurr=ncurr->next;
break;}
ncurr=ncurr->next;}}
curr=curr->next;}
s1.print();
}
};
void main()
{linklist l1,l2;
l1.insert(10);
l1.insert(20);
l1.insert(30);
l2.insert(40);
l2.insert(45);
l2.insert(50);
l1.add_even(l2);
system("pause");
}

#include <iostream>
using namespace std;

class node{
public:
int data;
node *next;
node(int d)
{
data=d;
next = NULL;
}
};
class queues
{
node *front;
node *rear;

public:
queues()
{
rear = NULL;
front = NULL;
}
int l_empty()
{
if(rear==NULL)
return 1;
else
return 0;
}
void enqueue(int value)
{
node *temp=new node(value);

if(l_empty())
{
rear=temp;
front=temp;
}
else
{
rear->next=temp;
}
}
int dequeue()
{
int v;
if(!l_empty())
{
v=front->data;
node *first=first;
front = front ->next;
delete first;
first = NULL;
return v;
}
else
{
cout<<"queue is empty "<<endl;
return -50;
}
}

void print()
{
node *curr=front;
while(curr!=NULL)
{
cout<<curr->data;
curr = curr->next;
}
}
};
void main()
{
queues q;
q.enqueue(3);
q.enqueue(8);
q.enqueue(9);
q.print();
q.dequeue();
cout<<"after deletion"<<endl;
q.print();
system("pause");

Potrebbero piacerti anche