C Program for Search in Linked List
#include<conio.h> #include<stdio.h> #include<stdlib.h> struct node{ int data; struct node *next; }; struct node *head=NULL; struct node* createNode(){ struct node *newNode = (struct node *)malloc(sizeof(struct node)); return (newNode); } void insertNode(){ struct node *temp,*ptr; temp=createNode(); printf("enter the data you want to insert:"); scanf("%d",&amp;amp;temp-&amp;gt;data); temp-&amp;gt;next=NULL; if(head==NULL) head=temp; else{ ptr=head; while(ptr-&amp;gt;next!=NULL){ ptr=ptr-&amp;gt;next; } ptr-&amp;gt;next=temp; } } void search(){ struct node *temp; int data,i=0,flag; temp=head; if(temp==NULL) printf("Linked List is empty"); else{ printf("Enter the data you want to search:"); scanf("%d",&amp;amp;data); while(temp!=NULL){ if(temp-&amp;gt;data==data){ printf("Value founded at location %d " ,i+1); flag=0; break; } else{ flag=1; } i++; temp=temp-&amp;gt;next; } if(flag==1){ printf("value not found\n"); } } } int menu(){ int choice; printf("\n 1.Add value to the list"); printf("\n 2.Search an element in List"); printf("\n 3.exit"); printf("\n Please enter your choice: \t"); scanf("%d",&amp;amp;choice); return(choice); } void main(){ while(1){ switch(menu()){ case 1: insertNode(); break; case 2: search(); break; case 3: exit(0); default: printf("invalid choice"); } getch(); } }
Output:
