Data Structure lab 8
Source code:
#include <iostream>
using namespace std;
struct Node{
int num;
Node* next;
Node*prev;
};Node*head=NULL;
Node*temp=NULL;
//insert at end
void add(int n)
{
Node * newnode=new Node;
newnode->num=n;
newnode->next=NULL;
newnode->prev=NULL;
if(head==NULL)
{
head=newnode;
cout<<"Enter Sucessful \n";
}
else
{
temp=head;
while(temp->next!=NULL)
{
temp=temp->next;
}
temp->next=newnode;
newnode->prev=temp;
cout<<"Enter Sucessful \n";
}
}
//delete at end
void Delete()
{
temp=head;
{
while(temp->next!=NULL)
{
temp=temp->next;
}
temp->prev->next=NULL;
delete temp;
}
}
//display
void display()
{
temp=head;
while(temp->next!=NULL)
{
cout<<temp->num<<" ";
temp=temp->next;
}
cout<<temp->num<<" "<<endl;
}
//search
void search(int n)
{
bool flag=false;
temp=head;
while(temp->next!=NULL)
{
if(temp->num==n)
{
flag=true;
break;
}
else
temp=temp->next;
}
if(flag==true)
cout<<"Value found \n";
else
cout<<" Not Found \n";
}
//empty
void isempty()
{
if(head==NULL)
{
cout<<"list is empty \n";
}
else
cout<<" list is not empty \n";
}
int main()
{
int c,N;
do
{ cout<<"********************************* \n";
cout<<"1) insert element at end \n";
cout<<"2) delete element at end \n";
cout<<"3) searh element \n";
cout<<"4) display \n";
cout<<"5) is empty \n";
cout<<"6) exit \n";
cout<<"********************************* \n";
cout<<"Enter Choice: ";
cin>>c;
switch(c)
{
case 1:
{
cout<<"ENter Number: ";
cin>>N;
add(N);
break;
}
case 2:
{
Delete();
break;
}
case 3:
{
cout<<"ENter Number for Search: ";
cin>>N;
search(N);
break;
}
case 4:
{
display();
break;
}
case 5:
{
isempty();
break;
}
case 6:
{
break;
}
default:
{
cout<<"Invalid input \n";
}
}
}while(c!=6);
return 0;
}
Comments
Post a Comment