Hello friends!!!!!

Linear search in Doubly Linked List

#include <stdio.h>

#include<stdlib.h>

typedef struct Node{

int data;

struct Node *left;

struct Node *right;

}Node;

Node * create_node(int data){

Node *newNode = (Node *)malloc(sizeof(Node));

newNode->data = data;

newNode ->left = NULL;

newNode->right = NULL;

return newNode;

}

void insert(Node **head, int data){

Node *newNode = create_node(data);

if(*head == NULL){

*head = newNode;

return ;

}

Node temp = head;

while(temp -> right != NULL){

temp = temp -> right;

}

temp -> right = newNode;

newNode -> left = temp;

}

void display(Node *head){

Node *temp = head;

while(temp -> right != NULL ){

printf("%d ", temp -> data);

temp = temp -> right;

}

printf("\n");

}

int search(Node **head, int value){

Node *temp;

temp = *head;

while(temp != NULL){

if(temp->data == value){

break;

}

temp = temp -> right;

}

if(temp!=NULL){

printf("Element exist\n");

}

else{

printf("Not exist\n");

}

}

int main(){

Node *head = NULL;

insert(&head, 10);

insert(&head, 20);

insert(&head, 30);

insert(&head, 40);

insert(&head, 50);

insert(&head, 60);

display(head);

search(&head, 90); //Prints Not Exist

}