Before seeing the solution make sure that you tried enough. Don’t paste the whole code, just find out the logic. If you stuck in trouble, just inform me on comment.
/**Bismillahir Rahmanir Rahim.**/
#include <stdio.h>
#include <stdlib.h>
int m=1, i, x, n, item;
struct node
{
int INFO;
struct node* PTR;
};
struct node* start;
struct node* LIST;
struct node* temp;
void insert(int x)
{
LIST = (struct node*) malloc(sizeof(struct node));
LIST->INFO = x;
LIST->PTR = NULL;
if(m==1)
{
LIST->PTR = NULL;
start = LIST;
temp = LIST;
m = 0;
return ;
}
temp->PTR = LIST;
temp = LIST;
}
void search(int item)
{
LIST = start;
for(i=1; LIST != NULL; i++)
{
if(item > LIST->INFO)
LIST = LIST->PTR;
else if(item == LIST->INFO)
{
printf("Location :: %d\n", i);
printf("Memory Cell :: %d\n", LIST);
free(LIST);
return;
}
else
{
printf("Item Is not In List.\n");
free(LIST);
return;
}
}
free(LIST);
}
int main()
{
start = NULL;
scanf("%d", &n);
for(i=0; i<n; i++)
{
scanf("%d", &x);
insert(x);
}
scanf("%d", &item);
search(item);
free(LIST);
return 0;
}
First Input n = number of Total Node. ex. 5.
second Input n node item (MUST BE SORTED) . ex. 10 20 30 40 50.
Third Input the item i want to search. ex. 40.
Sample Input:
------------------
5
10 20 30 40 50
40
sample Output:
---------------------
Location :: 4
Memory Cell :: 5705048
0 comments:
Post a Comment
Note: only a member of this blog may post a comment.