Singly Linked List Operations
- Insert in Linked List
- Delete node in Linked List based on position
- Display Nodes in Linked List
- Count Nodes in Linked List
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
#include
#include
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 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 . . .