1. Definition of a node
struct Node{
int data;
Node *next;
};
Node* head;
2. Create a linked list
void Create(Node* head,int n){
Node *p,*q;
q=head;
for(int i=0;i<n;i++){
p=new Node;
q->next=p;
cout<<"data: ";
cin>>p->data;
q=p;
}
q->next=NULL;
}
3. Insertion of nodes
void Insertion(Node* head, int pos){
Node* iterator=head;
for(int i=1;i<pos;i++){
iterator=iterator->next;
}
Node* newnode=new Node;
cout<<"data for insertion:";
cin>>newnode->data;
newnode->next=iterator->next;
iterator->next=newnode;
}
4. Deletion of nodes
void Deletion(Node* head,int n){
Node *p,*q;
p=head;
q=head->next;
for(int i=0;i<n-1;i++){
p=q;
q=q->next;
}
p->next=q->next;
delete q;
}
5. Deletion of Linked Lists
void DeleteLinkedList(Node* head){
Node *p,*q;
p=head->next;
q=p->next;
head->next=NULL;
while(p){
delete p;
p=q;
if(!q){
return;
}
q=q->next;
}
}
6. PrintLL
void Print(Node* head){
Node *iterator;
iterator=head->next;
while(iterator){
cout<<iterator->data;
iterator=iterator->next;
}
}