The ones who are crazy enough to think they can change the world are the ones who do.
- Steve Jobs

Singly Linked List

A singly linked list is the simplest type of linked list in which evey node contains some data and a pointer to the next node of the same data type. Simply, a node contains a data and the address of next node of same data type. A singly linked list allows traversal of data only in one way. i.e) only forward direction.

Structure - Singly Linked List

Structure - Singly Linked List
struct node
{
int data;
struct node *next;
};

C program - Singly Linked List

Here is the program to demonstrate, how to create and use singly linked list.

singly-linked-list.c
#include <stdio.h>
#include <malloc.h>
struct node{
int data;
struct node *next;
};
struct node *start = NULL;
struct node *create_linkedlist(struct node *);
struct node *display(struct node *);
int main(){
int choice;
do{
printf("\n1. Create a list");
printf("\n2. Display the list");
printf("\n3. Exit the list");
printf("\n\nEnter your choice : ");
scanf("%d",&choice);
switch(choice){
case 1:
start = create_linkedlist(start);
printf("\n Linked List Created Successfully");
break;
case 2:
start = display(start);
break;
}
}while(choice != 3);
return 0;
}
struct node *create_linkedlist(struct node *start)
{
struct node *new_node, *ptr;
int num;
printf("\n Enter -1 to end");
printf("\n Enter the data : ");
scanf("%d",&num);
while(num != -1){
new_node = (struct node*)malloc(sizeof(struct node));
new_node -> data = num;
if(start == NULL)
{
new_node -> next = NULL;
start = new_node;
}
else{
ptr = start;
while(ptr -> next != NULL)
ptr = ptr -> next;
ptr -> next = new_node;
new_node -> next = NULL;
}
printf("\n Enter the data : ");
scanf("%d",&num);
}
return start;
}
struct node *display(struct node *start){
struct node *ptr;
ptr = start;
while(ptr != NULL)
{
printf("\t %d", ptr -> data);
ptr = ptr -> next;
}
return 0;
}
1. Create a list
2. Display the list
3. Exit the list
Enter your choice : 1
Enter -1 to end
Enter the data : 5
Enter the data : 1
Enter the data : 2
Enter the data : -1
Linked List Created Successfully
1. Create a list
2. Display the list
3. Exit the list
Enter your choice : 2
5   1   2
1. Create a list
2. Display the list
3. Exit the list
Enter your choice : 3

Report Us

We may make mistakes(spelling, program bug, typing mistake and etc.), So we have this container to collect mistakes. We highly respect your findings.

Report