Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- struct Node
- {
- int data;
- struct Node *next;
- }*head;
- void createlinklist(int n);
- void display();
- void Delete(int m);
- int main()
- {
- int n,m;
- printf("Enter the number of nodes: ");
- scanf("%d",&n);
- createlinklist(n);
- printf("\nData entered in the list are:\n");
- display();
- printf("Enter node number for delete: ");
- scanf("%d",&m);
- Delete(m);
- display();
- return 0;
- }
- void createlinklist(int n)
- {
- struct Node *p, *temp;
- int data, i;
- head= (struct Node*)malloc(sizeof(struct Node));
- printf("Input data for node 1: ");
- scanf("%d",&data);
- head->data=data;
- head->next=NULL;
- p=head;
- temp=head;
- for(i=2; i<=n; i++)
- {
- printf("Enter data for node %d: ",i);
- scanf("%d",&data);
- temp=(struct Node*)malloc(sizeof(struct Node));
- temp->data=data;
- temp->next=NULL;
- p->next=temp;
- p=p->next;
- }
- }
- void display()
- {
- struct Node *temp;
- temp=head;
- while(temp!=NULL)
- {
- printf("%d\n",temp->data);
- temp=temp->next;
- }
- }
- void Delete(int m)
- {
- struct Node* temp1=head;
- int i;
- if(m==1)
- {
- head=temp1->next;
- free(temp1);
- return;
- }
- for(i=0;i<m-2;i++)
- temp1=temp1->next;
- struct Node* temp2=temp1->next;
- temp1->next=temp2->next;
- free(temp2);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement