C Stack Programs Show
C Stack Programs
C Queue ProgramsC Queue Programs
C Sorting ProgramsC Sorting Programs
C Searching ProgramsC Searching Programs
C Linked ListC Linked List
Singly Linked List Example Program in CSingly Linked List Operations
Singly Linked List Example Program ( Insert, Delete, Display and Count)/* Singly Linked List Example - All Operations Example Program Using Functions in C*/ /* Data Structure Programs,C Linked List Examples */ /* Singly Linked List Example - Insert,Delete,Display and Count Operations*/ #include <stdio.h> #include <malloc.h> #include <stdlib.h> struct node { int value; struct node *next; }; void insert(); void display(); void delete(); int count(); typedef struct node DATA_NODE; DATA_NODE *head_node, *first_node, *temp_node = 0, *prev_node, next_node; int data; int main() { int option = 0; printf("Singly Linked List Example - All Operations\n"); while (option < 5) { printf("\nOptions\n"); printf("1 : Insert into Linked List \n"); printf("2 : Delete from Linked List \n"); printf("3 : Display Linked List\n"); printf("4 : Count Linked List\n"); printf("Others : Exit()\n"); printf("Enter your option:"); scanf("%d", &option); switch (option) { case 1: insert(); break; case 2: delete(); break; case 3: display(); break; case 4: count(); break; default: break; } } return 0; } void insert() { printf("\nEnter Element for Insert Linked List : \n"); scanf("%d", &data); temp_node = (DATA_NODE *) malloc(sizeof (DATA_NODE)); temp_node->value = data; if (first_node == 0) { first_node = temp_node; } else { head_node->next = temp_node; } temp_node->next = 0; head_node = temp_node; fflush(stdin); } void delete() { int countvalue, pos, i = 0; countvalue = count(); temp_node = first_node; printf("\nDisplay Linked List : \n"); printf("\nEnter Position for Delete Element : \n"); scanf("%d", &pos); if (pos > 0 && pos <= countvalue) { if (pos == 1) { temp_node = temp_node -> next; first_node = temp_node; printf("\nDeleted Successfully \n\n"); } else { while (temp_node != 0) { if (i == (pos - 1)) { prev_node->next = temp_node->next; if(i == (countvalue - 1)) { head_node = prev_node; } printf("\nDeleted Successfully \n\n"); break; } else { i++; prev_node = temp_node; temp_node = temp_node -> next; } } } } else printf("\nInvalid Position \n\n"); } void display() { int count = 0; temp_node = first_node; printf("\nDisplay Linked List : \n"); while (temp_node != 0) { printf("# %d # ", temp_node->value); count++; temp_node = temp_node -> next; } printf("\nNo Of Items In Linked List : %d\n", count); } int count() { int count = 0; temp_node = first_node; while (temp_node != 0) { count++; temp_node = temp_node -> next; } printf("\nNo Of Items In Linked List : %d\n", count); return count; }Sample Output:Singly Linked List Example - All Operations Options 1 : Insert into Linked List 2 : Delete from Linked List 3 : Display Linked List 4 : Count Linked List Others : Exit() Enter your option:1 Enter Element for Insert Linked List : 100 Options 1 : Insert into Linked List 2 : Delete from Linked List 3 : Display Linked List 4 : Count Linked List Others : Exit() Enter your option:1 Enter Element for Insert Linked List : 200 Options 1 : Insert into Linked List 2 : Delete from Linked List 3 : Display Linked List 4 : Count Linked List Others : Exit() Enter your option:1 Enter Element for Insert Linked List : 300 Options 1 : Insert into Linked List 2 : Delete from Linked List 3 : Display Linked List 4 : Count Linked List Others : Exit() Enter your option:1 Enter Element for Insert Linked List : 400 Options 1 : Insert into Linked List 2 : Delete from Linked List 3 : Display Linked List 4 : Count Linked List Others : Exit() Enter your option:1 Enter Element for Insert Linked List : 500 Options 1 : Insert into Linked List 2 : Delete from Linked List 3 : Display Linked List 4 : Count Linked List Others : Exit() Enter your option:3 Display Linked List : # 100 # # 200 # # 300 # # 400 # # 500 # No Of Items In Linked List : 5 Options 1 : Insert into Linked List 2 : Delete from Linked List 3 : Display Linked List 4 : Count Linked List Others : Exit() Enter your option:4 No Of Items In Linked List : 5 Options 1 : Insert into Linked List 2 : Delete from Linked List 3 : Display Linked List 4 : Count Linked List Others : Exit() Enter your option:2 No Of Items In Linked List : 5 Display Linked List : Enter Position for Delete Element : 3 Deleted Successfully Options 1 : Insert into Linked List 2 : Delete from Linked List 3 : Display Linked List 4 : Count Linked List Others : Exit() Enter your option:3 Display Linked List : # 100 # # 200 # # 400 # # 500 # No Of Items In Linked List : 4 Options 1 : Insert into Linked List 2 : Delete from Linked List 3 : Display Linked List 4 : Count Linked List Others : Exit() Enter your option:2 No Of Items In Linked List : 4 Display Linked List : Enter Position for Delete Element : 6 Invalid Position Options 1 : Insert into Linked List 2 : Delete from Linked List 3 : Display Linked List 4 : Count Linked List Others : Exit() Enter your option: 5 ------------------ (program exited with code: 0) Press any key to continue . . .C Linked List
Read More Articles
|