Professional Documents
Culture Documents
#Include Using Namespace STD Struct Node (Int Info Node Link ) Start Void Insert Void Display Void Search Void Delete - Element Int Main
#Include Using Namespace STD Struct Node (Int Info Node Link ) Start Void Insert Void Display Void Search Void Delete - Element Int Main
Write a menu driven program that maintains a linear linked list whose elements are
stored in on ascending order and implements the following operations (using
separate functions):
c) Search an element
PROGRAM CODE-
YOUR PROGRAM CODE HERE
#include <iostream>
start=NULL;
while(flag!=1)
{ cout<<"\nENTER YOUR CHOICE \n";
cout<<"1)INSERT A NEW ELEMENT\n";
cout<<"2)DELETE AN ELEMENT\n";
cout<<"3)SEARCH AN ELEMENT\n";
cout<<"4)DISPLAY ELEMENT\n";
cout<<"5)Exit:\n";
cin>>ch;
switch (ch)
{
case 1:
insert();
break;
case 2:
delete_element();
break;
case 3:
search();
break;
case 4:
display();
break;
case 5:
flag=1;
break;
default:
SUBJECT NAME-Data Structures SUBJECT CODE-CSP231
cout<<"invalid choice"<<endl;
break;
}
}
}
void insert()
{
cin>>temp->info;
temp->link=NULL;
if(start==NULL)
{
start=temp;
return;
}
else
{
struct Node *p=start;
while(p->link!=NULL)
{
p=p->link;
}
p->link=temp;
}
}
void display()
SUBJECT NAME-Data Structures SUBJECT CODE-CSP231
{
struct Node* ptr=start;
cout<<"elements are"<<endl;
while(true)
{
cout<<ptr->info<<endl;
if(ptr->link==NULL)
{
break;
}
ptr=ptr->link;
}
}
void delete_element()
{
struct Node *prev=NULL;
struct Node *end=start;
while(end->link)
{
prev=end;
end=end->link;
}
prev->link=NULL;
delete end;
cout<<"ELEMENT DELETED"<<endl;
}
void search()
{
int elem,fg=0;
struct Node *current=start;
cout<<"enter element to be searched"<<endl;
cin>>elem;
SUBJECT NAME-Data Structures SUBJECT CODE-CSP231
while(current!=NULL)
{
if(current->info==elem)
{
fg=1;
break;
}
current=current->link;
}
if(fg==1)
{
cout<<"ELEMENT FOUND"<<endl;
}
else
{
cout<<"ELEMENT NOT FOUND"<<endl;
}
}
OUTPUT: