Searching in a Node
Iterative and recursive implementation of linearly searching for an element in a linked list.
Iterative Method :
struct node * search(struct node *ptr, int key) {
while (ptr != NULL) {
if (ptr -> data == key) {
// Return address of node if found
return ptr;
}
ptr = ptr -> next;
}
return NULL;
}Recursive Method :
struct node * search(struct node *ptr, int key) {
// Base condition
if (ptr == NULL) {
return NULL;
}
// Recursive call
if (ptr -> data == key) {
return ptr;
else {
return search(ptr -> next, key);
}
}Improving Using Move to Head Technique :
Contributed by Nitin Ranganath
Last updated
Was this helpful?