Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- typedef struct Node
- {
- int data;
- struct Node *next;
- } node;
- node *head = NULL;
- node *temp = NULL;
- node *tail = NULL;
- void insertEndOfList()
- {
- node *newNode = (node*)malloc(sizeof(node));
- printf("Enter data for node : ");
- scanf("%d", &newNode->data);
- newNode->next = NULL;
- if(head == NULL)
- {
- head = newNode;
- tail = newNode;
- }
- else
- {
- tail->next = newNode;
- tail = newNode;
- }
- }
- void insertFrontOfList()
- {
- node *newNode = (node*)malloc(sizeof(node));
- printf("Enter data for node : ");
- scanf("%d", &newNode->data);
- newNode->next = NULL;
- if(head == NULL)
- {
- head = newNode;
- }
- else
- {
- newNode->next = head;
- head = newNode;
- }
- }
- void displayList()
- {
- int count = 0;
- if(head == NULL)
- {
- printf("\nList is Empty!!\n\n");
- }
- else
- {
- printf("\nList is : ");
- temp = head;
- while(temp!=NULL)
- {
- printf("%d ", temp->data);
- temp = temp->next;
- count++;
- }
- printf("\nTotal Node :%d\n\n", count);
- }
- }
- void search()
- {
- printf("\n\nEnter data to search: ");
- int data;
- scanf("%d", &data);
- temp = head;
- int count = 0;
- while(temp!=NULL && temp->data != data)
- {
- temp = temp->next;
- count++;
- }
- if(temp == NULL)
- {
- printf("%d doest not exist;\n\n", data);
- }
- else
- {
- printf("\n\n\n%d found at Position: %d\n\n", data,count+1);
- }
- }
- void deleteNode()
- {
- printf("\n\nEnter data to Delete: ");
- int data;
- scanf("%d", &data);
- temp = head;
- node *previous = NULL;
- int count = 0;
- while(temp!=NULL && temp->data != data)
- {
- previous = temp;
- temp = temp->next;
- count++;
- }
- if(temp == NULL)
- {
- printf("%d doest not exist;\n\n", data);
- }
- else
- {
- printf("\n\n\n%d found at Position: %d\n\n", data,count+1);
- previous->next = temp->next;
- free(temp);
- \
- printf("\n\n\n%d Deleted\n\n", data);
- }
- }
- int main()
- {
- int i, n, m ;
- printf("Enter N: ");
- scanf("%d",&n);
- for(i = 0; i< n ; i++)
- {
- insertEndOfList();
- }
- displayList();
- printf("\nEnter M: ");
- scanf("%d", &m);
- for(i = 0; i< m ; i++)
- {
- insertFrontOfList();
- }
- displayList();
- search();
- deleteNode();
- printf("\n\nAfter Deletion:");
- displayList();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement