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.
/**Bismillair Rahmanir Rahim.**/ #include <stdio.h> #include <stdlib.h> int m=1, i, x, n, nth; 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 delte() { printf("Which Node You Want To delete ::\n"); scanf("%d", &nth); list = start; if(nth == 1) { list = list->ptr; start = list; return; } for(i=0; i<nth-1; i++) { temp = list; list = list->ptr; } temp->ptr = list->ptr; } void print() { list = start; printf("List is: "); while(list != NULL) { printf(" %d ", list->info); list = list->ptr; } printf("\n"); free(list); } int main() { start = NULL; printf("How Many Node??\n"); scanf("%d", &n); printf("Print %d Node :: \n", n); for(i=0; i<n; i++) { scanf("%d", &x); insert(x); } delte(); print(); free(list); return 0; }
First Input n = number of Total Node. ex. 5.
second Input n node item . ex. 10 20 30 40 50.
In which node i want to Delete. ex. 2.
Sample Input:
------------------
5
10 20 30 40 50
2
sample Output:
---------------------
List is : 10 30 40 50
0 comments:
Post a Comment
Note: only a member of this blog may post a comment.