Algorithm for inserting a node at the Beginning


Step 1: IF AVAIL = NULL 
           Write OVERFLOW 
           Go to Step 7 
        [END OF IF]
Step 2: SET NEW_NODE = AVAIL 
Step 3: SET AVAIL = AVAIL NEXT 
Step 4: SET NEW_NODE -> DATA = VAL 
Step 5: SET NEW_NODE -> NEXT = START 
Step 6: SET START = NEW_NODE 
Step 7: EXIT

Explanation

  • In Step 1, we first check whether memory is available for the new node. If the free memory has exhausted, then an OVERFLOW message is printed.
  • Otherwise, if a free memory cell is available, then we allocate space for the new node.
  • Set its DATA part with the given VAL and the next part is initialized with the address of the first node of the list, which is stored in START.
  • Now, since the new node is added as the first node of the list, it will now be known as the START node, that is, the START pointer variable will now hold the address of the NEW_NODE.