Header Ads

Header ADS

C++-- Remove an element from linked list at a given position-4

REMOVE FROM ANY POSITION IN LINKLIST

REMOVE FROM ANY POSITION

















PROGRAM:


#include<iostream>
using namespace std;
struct node
{
int data;
node*next;
};
class linklist
{private:
node*start,*end;
public:
linklist()
{
start=end=0;
}
void insert(int d)
{
node*box=new node();
box->data=d;
box->next=0;
if(start==0)
{
start=end=box;
}
end->next=box;
end=box;
}
void insertatfront(int d)
{
node*box=new node();
box->data=d;
box->next=0;
if(start==0)
{
start=end=box;
}
box->next=start;
start=box;
}
void insertatpos(int d)
{
node*box=new node();
box->data=d;
box->next=0;
if(start==0)
{
start=end=box;
}}
void removeatfront(int r)
{
if(start==0)
{
cout<<"there is no node available to delete"<<endl;
}
node*temp=start;
start=start->next;
delete temp;
}
void insertatpos()
{
node*temp=new node();
int pos,d;
cout<<"ENTER THE POSITION WHERE TO INSERT\t"<<endl;
cin>>pos;
cout<<"ENTER THE DATA\t"<<endl;
cin>>d;
temp->data=d;
if(pos==1)
{
temp->next=start;
start=temp;
}
node*ptr=start;
for(int j=1;j<pos-1;j++)
{
ptr=ptr->next;
}
temp->next=ptr->next;
ptr->next=temp;
}
void removeatpos()
{
node*current=start;
node*previous=start;
int d;
cout<<"ENTER THE NO FOR DELECTION"<<endl;
cin>>d;
if(d==1)
{start=start->next;
delete current;}
else{
for(int j=1;j<d;j++)
{
previous=current;
current=current->next;
}
previous->next=current->next;
delete current;

}
}
void print()
{
node*temp=start;
while(temp!=0)
{
cout<<"the data is"<<temp->data<<endl;
cout<<"the data of next is"<<temp->next<<endl;
temp=temp->next;
}}
};
void main()
{
linklist l;
l.insert(12);
l.insert(13);
l.insert(14);
l.insert(15);
l.insertatfront(11);
l.insertatfront(10);
l.removeatfront(10);
l.insertatpos();
l.print();
l.removeatpos();l.print();

No comments

Theme images by RBFried. Powered by Blogger.