Search An Element in Linked List.

Started by aruljothi, Mar 31, 2009, 11:04 AM

Previous topic - Next topic

aruljothi

#include<stdio.h>
#include<conio.h>
#include<malloc.h>
//Program to search an element in linked list.
/*copyright vivekv5-2005*/
struct linlst
{
  int info;
  struct link *next;
}
start, *node;

int search(int);
void main()
{
  int no,i,item,pos;
  clrscr();
  start.next=NULL;
  node=&start;
  printf("How many nodes, you want in linked list? ");
   scanf("%d",&no);
   printf("
");
   for(i=0;i<no;i++)
    {
      node->next=(struct linlst *)malloc(sizeof(struct linlst));
      printf("Enter element in node %d: ",i+1);
      scanf("%d",&node->info);
      node=node->next;
    }
    node->next=NULL;
    printf("
Linked list(only with info field) is:
");

    node=&start;
    while(node->next!=NULL)
    {
     printf("%d   ",node->info);
     node=node->next;
    }
printf("

Enter item to be searched : ");
scanf("%d",&item);
pos=search(item);
if(pos<=no)
  printf("

Your item is at node %d",pos);
else
  printf("
Sorry! item is no in linked list.a");
getch();
}

int search(int item)
{
  int n=1;
  node=&start;
  while(node->next!=NULL)
   {
    if(node->info==item)
     break;
    else
     n++;
    node=node->next;
   }
return n;
}