Saturday, November 19, 2011

C and C++ Examples ( Deque )


#include<iostream.h>
#include<conio.h>
template<class t>
class dequ
//{
//struct dequ
//{
t data;
dequ *prev,*next,*front,*rear;
//};
int s;
public:
dequ()
{
front=rear=NULL;
s=0;
}
int empty();
int size();
void push_front();
void push_back(t);
void pop_front2();
void pop_back();
t front3();
t back();
};
template<class t>
int dequ<t>::empty()
{
if(front==NULL)
{
cout<<"deque is emptyn";
return(0);
}
else
{
cout<<"not empty";
return(0);
}
}
template<class t>
int dequ<t>::size()
{
return(s);
}
template<class t>
void dequ<t>::push_front(t x)
{
dequ *newnode;
newnode=new dedqu;
newnode->data=x;
newnode->prev=NULL;
newnode->next=front;
front->prev=newnode;
fornt=newnode;
if(rear==NULL)
{
rear=newnode;
}
s++;
}
template<class t>
vois dequ<t>::push_back(t x)
{
dequ *newnode;
newnode=new dequ;
newnode->data=x;
newnode->next=NULL;
newnode->frev=rear;
rear->next=nwnode;
rear=newnode;
if(front==NULL)
{
front=newnode;
}
s++;
}
template<class t>
void dequ<t>::pop_front2()
{
dequ *p=front;
if(front==rear)
{
front=rear=NULL;
}
else
{
front=front->next;
front->prev=NULL;
}
delete(p);
s--;
}
template<class t>
void dequ<t>pop_back()
{
dequ *p=rear;
if(rear==front)
{
rear=front=NULL;
else
{
rear=rear->prev;
rear->next=NULL;
}
delete(p);
s--;
}
template<class t>
t dequ<t>::front3()
{
if(empty())
{
cout<<"dequ isempty";
return(1);
}
else
{
return(front->data);
}
}
template<class t>
t dequ<t>::back()
{
if(empty())
{
cout<<"dequeue is empty";
return(1);
}
else
{
return(rear->data);
}
}
void main()
{
dequ<int>d;
clrscr();
int opt,x,t,p;
do
{
cout<<"\n1.empty\n2.size\n3.push_front\n4.push_back\n5.pop_front\n6.pop_back\n7.front\n8.back\n9.exit\n";
cout<<"enter u r choice";
cin>>opt;
switch(opt)
{
case 1:t=d.empty();
break;
case 2:t=d.size();
cout<<"size of the dequue is :";
cout<<t;
break;
case 3:cout<<"enter the elements";
cin>>x;
d.push_front1(x);
break;
case 4:cout<<"enter the element:";
cin>>x;
d.push_back(x);
break;
case 5:d.pop_front();
break;
case 6:d.pop_back();
break;
case 7:p=d.front3();
cout<<p;
break;
case 8:p=d.break();
cout<<p;
break;
}
}while(opt!=9);
getch();
}




0 comments:

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Vamshi krishnam raju | Bloggerized by Vamshi krishnam raju - Vamshi krishnam raju | Vamshi krishnam raju