Deletion:- To remove an element from a given Singly Linked List is known as Deletion. It is of four types-
डिलीशन:- सिंगली लिंक्ड लिस्ट से किसी एलिमेंट को हटाना, डिलीशन कहलाता है। यह चार प्रकार से किया जा सकता है-
a) Delete first node (पहला नोड हटाना )
void deletefirstsll(){
clrscr();
n=start;
if(n==NULL){
printf("Underflow Condition\n");
getch();
return;
}
if(start->link==NULL){
start=NULL;}
else{
start=start->link;
}
printf("First Node Deleted\n");
getch();
free(n);
return;
}
b) Delete last node (अंतिम नोड हटाना)
void deletelastsll(){
NODE *temp=start;
clrscr();
if(start==NULL){
printf("Underflow Condition\n");
getch();
return;
}
if(start->link==NULL){
n=start;
start=NULL;}
else{
while(temp->link->link!=NULL){
temp=temp->link;
}
n=temp->link;
temp->link=NULL;
}
printf("last Node Deleted\n");
getch();
free(n);
return;
}
c) Delete a node after given location (किसी दी गयी स्थिति के पश्चात नोड को हटाना)
void deleteafterlocsll(NODE *loc){
clrscr();
if(start==NULL){
printf("Underflow Condition\n");
getch();
return;
}
if(loc->link== NULL){
printf("Location is Last Node\ndeletion will not perform here\n");
getch();
return;
}
if(loc->link->link==NULL){
printf(" Choose option delete last node in SLL\n");
getch();
return;
}
else{
n=loc->link;
loc->link=loc->link->link;
}
printf("Node after given location is deleted\n");
getch();
free(n);
return;
}
d) Delete a node before given location (किसी दी गयी स्थिति के पुर्व नोड को हटाना)
void deletebeforelocsll(NODE *loc){
NODE *temp=start;
clrscr();
if(start==NULL){
printf("Underflow Condition\n");
getch();
return;
}
if(loc==start){
printf("Location is first Node\n Deletion will not perform here\n");
getch();
return;
}
if(start->link==loc){
printf("Location is Second Node\nChoose Option delete first Node in SLL\n");
getch();
return;
}
else{
while(temp->link->link!=loc){ temp=temp->link;}
n=temp->link;
temp->link=loc;
}
printf("Node before given location is deleted\n");
getch();
free(n);
return;
}
No comments:
Post a Comment