Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- class node
- {
- public:
- int info;
- node *link;
- };
- node *head=NULL,*temp,*ex;
- int creat_list(int data)
- {
- node * ptr;
- ptr=new node();
- ptr->info=data;
- ptr->link=NULL;
- if(head==NULL)
- {
- head=ptr;
- temp=ptr;
- }
- else
- {
- temp->link=ptr;
- temp=ptr;
- }
- }
- int first_delete()
- {
- node *srt;
- srt=head;
- srt=srt->link;
- head=srt;
- }
- void last_delete()
- {
- node *srt;
- for(srt=head;;)
- {
- if(srt->link==NULL)
- {
- temp->link=NULL;
- break;
- }
- else
- {
- temp=srt;
- srt=srt->link;
- }
- }
- }
- void delete_item(int data)
- {
- node *srt;
- for(srt=head;;)
- {
- if(srt->info==data)
- {
- temp->link=srt->link;
- break;
- }
- else
- {
- temp=srt;
- srt=srt->link;
- }
- }
- }
- void delete_item_before(int data)
- {
- node *srt;
- ex=head;
- temp=NULL;
- for(srt=head;;)
- {
- if(srt->info==data)
- {
- if(ex==head)
- head=srt;
- ex->link=srt;
- break;
- }
- else
- {
- if(temp!=NULL)
- ex=temp;
- temp=srt;
- srt=srt->link;
- }
- }
- }
- void delete_item_after(int data)
- {
- node *srt;
- for(srt=head;;)
- {
- if(srt->info==data)
- {
- srt=srt->link;
- temp->link=srt->link;
- break;
- }
- else
- {
- srt=srt->link;
- temp=srt;
- }
- }
- }
- void print()
- {
- node *srt;
- srt=head;
- while(srt!=NULL)
- {
- cout<<srt->info;
- srt=srt->link;
- }
- }
- int main()
- {
- int n,item,x;
- cin>>n;
- for(int i=0; i<n; i++)
- {
- cin>>item;
- creat_list(item);
- }
- print();
- cout<<"\nafter deleting the 1st element"<<endl;
- first_delete();
- print();
- cout<<"\nafter deleting the last element"<<endl;
- last_delete();
- print();
- cout<<"\nenter the element to be deleted"<<endl;
- cin>>x;
- cout<<"\nafter deleting the given element"<<endl;
- delete_item(x);
- print();
- cout<<"\nenter the element the previous element of which should be deleted"<<endl;
- cin>>x;
- cout<<"\nafter deleting the element before the given element"<<endl;
- delete_item_before(x);
- print();
- cout<<"\nenter the element the next element of which should be deleted"<<endl;
- cin>>x;
- cout<<"\nafter deleting the element after the given element"<<endl;
- delete_item_after(x);
- print();
- }
Advertisement
Add Comment
Please, Sign In to add comment