Skip to main content

Linked List Insertion

 Linked List Insertion at Begin, Insertion at End, Insertion at Position

Program:

#include<stdlib.h>
#include <stdio.h>
     
void create();
void display();
void insert_at_begin();
void insert_at_end();
void insert_at_position();
 
struct node
{
        int data;
        struct node *next;
};
struct node *head=NULL;
int main()     
{
        int choice;
        while(1){
               
                
                printf("\n 1.Create \n");
                printf("\n 2.Display \n");
                printf("\n 3.Insert at the beginning \n");
                printf("\n 4.Insert at the end \n");
                printf("\n 5.Insert at specified position \n");
                printf("\n 6.Exit \n");
                printf("\n--------------------------------------\n");
                printf("Enter your choice:\t");
                scanf("%d",&choice);
                switch(choice)
                {
                        case 1:
                                        create();
                                        break;
                        case 2:
                                        display();
                                        break;
                        case 3: 
                                        insert_at_begin();
                                        break;
                        case 4:
                                        insert_at_end();
                                        break;
                        case 5:
                                        insert_at_position();
                                        break;
                        
                        case 6:
                                        exit(0);
                                        break;
                             
                        default:
                                        printf("Invalid choice");
                                        break;
                }
        }
        return 0;
}
void create()
{
        struct node *newnode,*temp;
        newnode=(struct node *)malloc(sizeof(struct node));
        if(newnode==NULL)
        {
                printf("\nOut of Memory Space:\n");
                exit(0);
        }
        printf("\nEnter the data value for the node:\t");
        scanf("%d",&newnode->data);
        newnode->next=NULL;
        if(head==NULL)
        {
                head=newnode;
        }
        else
        {
                temp=head;
                while(temp->next!=NULL)
                {
                        temp=temp->next;
                }
                temp->next=newnode;
        }
}
void display()
{
        struct node *temp;
        if(head==NULL)
        {
                printf("\nList is empty:\n");
                return;
        }
        else
        {
                temp=head;
                printf("\nThe List elements are:\n");
                while(temp!=NULL)
                {
                        printf("%d\t",temp->data );
                        temp=temp->next ;
                }
        }
}
void insert_at_begin()
{
        struct node *newnode;
        newnode=(struct node *)malloc(sizeof(struct node));
        if(newnode==NULL)
        {
                printf("\nOut of Memory Space:\n");
                return;
        }
        printf("\nEnter the data value for the node:\t" );
        scanf("%d",&newnode->data);
        newnode->next =NULL;
        if(head==NULL)
        {
                head=newnode;
        }
        else
        {
                newnode->next=head;
                head=newnode;
        }
}
void insert_at_end()
{
        struct node *newnode,*temp;
        newnode=(struct node *)malloc(sizeof(struct node));
        if(newnode==NULL)
        {
                printf("\nOut of Memory Space:\n");
                return;
        }
        printf("\nEnter the data value for the node:\t" );
        scanf("%d",&newnode->data);
        newnode->next =NULL;
        if(head==NULL)
        {
                head=newnode;
        }
        else
        {
                temp=head;
                while(temp->next !=NULL)
                {
                        temp=temp->next ;
                }
            temp->next =newnode;
        }
}
void insert_at_position()
{
        struct node *temp,*newnode;
        int i,pos;
        newnode=(struct node *)malloc(sizeof(struct node));
        if(newnode==NULL)
        {
                printf("\nOut of Memory Space\n");
                return;
        }
        printf("\nEnter the position for the new node to be inserted:\t");
        scanf("%d",&pos);
        printf("\nEnter the data value of the node:\t");
        scanf("%d",&newnode->data) ;
  
        newnode->next=NULL;
        if(pos==0)
        {
                newnode->next=head;
                head=newnode;
        }
        else
        {
                for(i=0,temp=head;i<pos-1;i++) { temp=temp->next;
                        if(temp==NULL)
                        {
                                printf("\nInvalid Position!!!\n");
                                return;
                        }
                }
                newnode->next =temp->next ;
                temp->next=newnode;
        }
}



Output:




Comments

Popular posts from this blog

Embedded Systems

  Introduction to Embedded Systems WHAT IS AN EMBEDDED SYSTEM? An embedded system is an electronic/electro-mechanical system designed to perform a specific function and is a combination of both hardware and firmware(software). Difference between embedded and general purpose computing system Embedded System A system which is a combination of special purpose hardware and embedded OS for executing a specific set of applications. May or may not contain an operating system for functioning. The firmware of the embedded system is pre-programmed and it is non alterable by the end-user (There may be exceptions for systems supporting OS kernel image flashing through special hardware settings). Application-specific requirements (like performance, power requirements, memory usage, etc.) are the key deciding factors. Highly tailored to take advantage of the power saving modes supported by the hardware and the operating system. For certain category of embedded systems like mission critical syste...

ChatGPT

 What is ChatGPT ? ChatGPT  is an AI (Artificial Intelligence) chatbot , which is developed by OpenAI.  It takes text as input and responds to it like a human. It was launched in NOVEMBER 2022. In ChatGPT ,GPT stands for Generative Pre-trained Transformer. It is among the latest sensations in the field of AI. How to access ChatGPT ? To use ChatGPT the first step is to sign up on OpenAI and create an account on it. Here is the link " https://openai.com/blog/chatgpt/ ". By clicking the above link the interface looks like, Now, click on the "TRY CHATGPT" and signup/login using your credentials. Is ChatGPT free to use ? Free ChatGPT service is not available anywhere,but ChatGPT will only be available to U.S customers for now. On February 2023 OpenAI has announced that it was introducing "ChatGPT Plus"  by launching a pilot subscription plan for ChatGPT. The new subscription plan, ChatGPT Plus, will be available for $20/month, and subscribers will receive a num...

EMBEDDED SYSTEMS

  Major Application Areas of Embedded Systems We are living in a world where embedded systems play a vital role in our day-to-day life, starting from home to the computer industry, where most of the people find their job for a livelihood. Embedded technology has acquired a new dimension from its first generation model, the Apollo guidance computer, to the latest radio navigation system combined with in-car entertainment technology and the wearable computing devices (Apple watch, Microsoft Band, Fitbit fitness trackers etc.). The application areas and the products in the embedded domain are countless. A few of the important domains and products are listed below: (1) Consumer electronics: Camcorders, cameras, etc. (2) Household appliances: Television, DVD players, washing machine, fridge, microwave oven, etc.  (3) Home automation and security systems: Air conditioners, sprinklers, intruder detection alarms, close! circuit television cameras, fire alarms, etc. (4) Automotive indu...