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> struct node { int info; struct node* ptr; }; struct node* start; struct node* list; void insert() { struct node* list = (struct node*) malloc(sizeof(struct node)); scanf("%d", &list->info); list->ptr = start; start = list; } void search(int item) { list = start; int cndtn = 0, cnt = 0; while(list!=NULL) { cnt++; if(item == list->info) { printf("The location of this item is in %d\n", cnt); printf("The memory cell of this item is in %d\n\n", list); cndtn = 1; } list = list->ptr; } if(cndtn == 0) printf("Item is not in this list.\n"); free(list); } int main() { start = NULL; int nde_num, i, item; scanf("%d", &nde_num); for(i=0; i<nde_num; i++) insert(); scanf("%d", &item); search(item); free(list); return 0; }
First Input nde_num = number of Total Node. ex. 5.
second Input node item. 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:
---------------------
The location of this item is in 2
The memory cell of this item is in 5705048
0 comments:
Post a Comment
Note: only a member of this blog may post a comment.