Insertion at the beginning of the Singly linked lists
Step 1. Create a new node and assign the address to any node say ptr.
Step 2. OVERFLOW,IF(PTR = NULL)
write : OVERFLOW and EXIT.
Step 3. ASSIGN INFO[PTR] = ITEM
Step 4. IF(START = NULL)
ASSIGN NEXT[PTR] = NULL
ELSE
ASSIGN NEXT[PTR] = START
Step 5. ASSIGN START = PTR
Step 6. EXIT
Insertion at the front of list
void insertion(struct node *nw)
{
struct node start, *previous, *new1;
nw = start.next;
previous = &start;
new1 = (struct node* ) malloc(sizeof(struct node));
new1->next = nw ;
previous->next = new1;
printf("\n Input the fisrt node value: ");
scanf("%d", &new1->data);
}
Insertion at the front of list
/* INSERT A NODE INTO A SIMPLE LINKED LIST AT THE BEGINNING */
# include <stdio.h>
# include <malloc.h>
# include <conio.h>
struct link
{
int data;
struct link *next;
};
int i;
int number;
struct link start, *previous, *new1;
void insertion(struct link *);
void create_list(struct link *);
void display(struct link *);
/* Function create a linked list */
void create_list(struct link *node)
{
char ch;
start.next = NULL;
node = &start; /* Point to the start of the list */
i = 0;
fflush(stdin);
printf("\n Input choice n for break: ");
ch = getchar();
while(ch != 'n')
{
node->next = (struct link* ) malloc(sizeof(struct link));
node = node->next;
printf("\n Input the node: %d: ", (i+1));
scanf("%d", &node->data);
node->next = NULL;
fflush(stdin);
printf("\n Input choice n for break: ");
ch = getchar();
i++;
}
}
/* Inserting a node */
void insertion(struct link *node)
{
node = start.next;
previous = &start;
new1 = (struct link* ) malloc(sizeof(struct link));
new1->next = node ;
previous->next = new1;
printf("\n Input the fisrt node value: ");
scanf("%d", &new1->data);
}
/* Display the list */
void display(struct link *node)
{
node = start.next;
printf("\n After Inserting a node list is as follows:\n");
while (node)
{
printf(" %d\t", node->data);
node = node->next;
}
}
/* Function main */
void main()
{
struct link *node = (struct link *) malloc(sizeof(struct link));
clrscr();
create_list(node);
insertion(node);
display(node);
getch();
}Output

