• Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

Computer Notes

Library
    • Computer Fundamental
    • Computer Memory
    • DBMS Tutorial
    • Operating System
    • Computer Networking
    • C Programming
    • C++ Programming
    • Java Programming
    • C# Programming
    • SQL Tutorial
    • Management Tutorial
    • Computer Graphics
    • Compiler Design
    • Style Sheet
    • JavaScript Tutorial
    • Html Tutorial
    • Wordpress Tutorial
    • Python Tutorial
    • PHP Tutorial
    • JSP Tutorial
    • AngularJS Tutorial
    • Data Structures
    • E Commerce Tutorial
    • Visual Basic
    • Structs2 Tutorial
    • Digital Electronics
    • Internet Terms
    • Servlet Tutorial
    • Software Engineering
    • Interviews Questions
    • Basic Terms
    • Troubleshooting
Menu

Header Right

Home » Lab » C Program Print Link List
Next →
← Prev

C Program Print Link List

By Dinesh Thakur

 

#include<stdio.h> 
#include<process.h>
struct list
{
     int info;
     struct list *link;
};
        struct list start,*temp,*prev,*node;
        void insert()
      {
              int i,j,item;
              printf("Enter the item to insert=");
              scanf("%d",&item);
              printf("\n 1.insertion at begining");
              printf("\n 2.insertion at end");
              printf("\n 3.insertion at middle");
              printf("Enter your choice=");
              scanf("%d",&i);
              switch(i)
                 {
                           case 1:if(start.link==NULL)
                                       {
                                                     node=(struct list *)malloc(sizeof(struct list));
                                                     node->info=item;
                                                     node->link=NULL;
                                                     start.link=node;
                                                     return;
                                        }
                                      else
                                       {
                                                     node=(struct list *)malloc(sizeof(struct list));
                                                     node->info=item;
                                                     node->link=start.link;
                                                     start.link=node;
                                                     return;
                                        }
                            case 2:if(start.link==NULL)
                                       {
                                                     node=(struct list *)malloc(sizeof(struct list));
                                                     node->info=item;
                                                     node->link=NULL;
                                                     start.link=node;
                                                     return;
                                        }                      
                                       else
                                       {
                                                     temp=start.link;
                                                     while(temp->link!=NULL)
                                                            {
                                                                     temp=temp->link;
                                                            }
                                                                     node=(struct list *)malloc(sizeof(struct list));
                                                                     temp->link=node;
                                                                     return;
                                        }
                             case 3:printf("Enter position=");
                                                    scanf("%d",&j);
                                                    if(start.link==NULL)
                                                      {
                                                               node=(struct list *)malloc(sizeof(struct list));
                                                               node->info=item;
                                                               node->link=NULL;
                                                               start.link=node;
                                                               return;
                                                       }
                                                      else
                                                       {
                                                               temp=start.link;
                                                               while(temp->link!=NULL)
                                                                      {
                                                                             if(temp->info==j)
                                                                               {
                                                                                     break;
                                                                                }
                                                                                     temp=temp->link;
                                                                       }
                                                                                     node=(struct list*)malloc(sizeof(struct list));
                                                                                     temp->link=node;
                                                                                     return;
                                                        }
                                                                                     default:printf("Wrong choice");
                  }
       }
        int del()
     {
          int i,j,item;
          printf("/n1.Deletion at beginning");
          printf("/n2.Deletion at end");
          printf("/n3.Deletion at middle");
          printf("Enter the choice");
          scanf("%d",&i);
          switch(i)
          {
            case 1:if(start.link==NULL)
                   {
                           printf("list empty");
                           return 0;
                   }
                   else
                   {
                           temp=start.link;
                           item=temp->info;
                           start.link=temp->link;
                           free(temp);
                           return item;
                   }
            case 2:if(start.link==NULL)
                   {
                           printf("list empty");
                           return 0;
                   }
                   else
                   {
                           temp=start.link;
                           prev=&start;
                           while(temp->link!=NULL)
                                  {
                                        temp=temp->link;
                                        prev=prev->link;
                                  }
                                        item=temp->info;
                                        prev->link=NULL;
                                        free(temp);
                                        return item;
                   }
            case 3:if(start.link==NULL)
                   {
                         printf("list empty");
                         return 0;
                    }
                   else
                  {
                        printf("enter the item to be deleted");
                        scanf("%d",&i);
                        temp=start.link;
                        prev=&start;
                        while(temp->link!=NULL)
                               {
                                      if(temp->info==i)
                                    {
                                         break;
                                    }
                                         prev=prev->link;
                                         temp=temp->link;
                                }
                           if(temp->link==NULL)
                            {
                                  printf("item not available");
                                  return 0;
                             }
                            else
                            {
                                  item=temp->info;
                                  prev->link=temp->link;
                                  free(temp);
                                  return item;
                             }
                     }
                                  default:printf("wrong choice");
           }
       }
                 void display()
              {
                        temp=start.link;
                        while(temp)
                               {
                                       printf("%d",temp->info);
                                       temp=temp->link;
                               }
              }
void main()
       {
            void insert();
            int del();
            void display();
            int i,j,k;
           char ch;
           clrscr();
           start.link=NULL;
           do
            {
                clrscr();
                printf("\n1.Insert");
                printf("\n2.Delete");
                printf("\n3.Display");
                printf("\n4.Exit");
                printf("\nEnter your Choice :");
                scanf("%d",&i);
                switch(i)
                    {
                          case 1:insert();
                                                 display();
                                                 break;
                          case 2:j=del();
                                                 printf("item deleted is %d\n",j);
                                                 display();
                                                 break;
                          case 3:display();
                                                 break;
                          case 4:exit(0);
                                                default:printf("wrong choice");
                    }
                                                fflush(stdin);
                                                printf("any more?=");
                                                scanf("%c",&ch);
            }while(ch=='y');
              getch();
       } 

You’ll also like:

  1. C Program Print a comma-separated list of numbers from 1 to 10
  2. C Program Print a list of numbers in reverse order
  3. What is Linked lists? How Many Type of Link List
  4. Inserting Element Between in Link List Java Example
  5. C Program Write a Program to Print a Pascal Triangle
Next →
← Prev
Like/Subscribe us for latest updates     

About Dinesh Thakur
Dinesh ThakurDinesh Thakur holds an B.C.A, MCDBA, MCSD certifications. Dinesh authors the hugely popular Computer Notes blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps.

Dinesh Thakur is a Freelance Writer who helps different clients from all over the globe. Dinesh has written over 500+ blogs, 30+ eBooks, and 10000+ Posts for all types of clients.


For any type of query or something that you think is missing, please feel free to Contact us.


Primary Sidebar

C Programming

C Programming Tutorials

  • C - History
  • C - Anatomy
  • C - Constants
  • C - Identifiers
  • C - Data Types
  • C - Libraries File
  • C - Header Files
  • C - Basic Language
  • C - Data Types Sizes
  • C - Header Files Importance
  • C - Escape Sequences
  • C - Main() Purpose
  • C - Program Procedure
  • C - Control Statements
  • C - Enumeration Constant
  • C - Add numbers
  • C - Return Statement
  • C - Avoid Goto
  • C - Command Line Arguments
  • C - Switch Case
  • C - Switch Case Limitations
  • C - getchar() and putchar()
  • C - Iteration Statements
  • C - Pass by Value and Reference
  • C - Structures and Unions
  • C - Structure
  • C - Dynamic Memory
  • C - Fgets and Fputs Functions
  • C - Gets() and Puts() Functions
  • C - Armstrong Number
  • C - Storage Classes
  • C - Fibonacci Series
  • C - Precision Setting
  • C - const Parameters

C - Variable & It's Type

  • C - Variables
  • C - Variable Lifetime
  • C - Static Variable
  • C - Register Variable
  • C - Global Variables
  • C - Auto Variables
  • C - Local Variables

C - Operator & Expressions

  • C - Operator
  • C - Boolean Operators
  • C - Bitwise Operator
  • C - Arithmetic Operators
  • C - Modulus Operator
  • C - Ternary Operator
  • C - Expressions
  • C - Arithmetic Expressions

C - Array

  • C - Arrays
  • C - Array Types
  • C - Array Characteristics
  • C - Static Arrays
  • C - Global Arrays
  • C - 3D Arrays
  • C - Dynamic Arrays
  • C - Pointer to 3D Arrays
  • C - Array Elements Hold
  • C - Arrays as Function Parameters
  • C - Accessing Matrix Elements
  • C - File Handling
  • C - Matrix Multiplication
  • C - Dynamic Memory Allocation

C - Searching & Sorting

  • C - Data Structures
  • C - Linear Search
  • C - Bubble Sort
  • C - Merge Sort
  • C - Linked List
  • C - Insertion Sort
  • C - Binary Search
  • C - Selection Sort
  • C - Quick Sort

C - Functions

  • C - Functions
  • C - Functions Advantages
  • C - Void Functions
  • C - Function Call
  • C - Default Return Value
  • C - String functions

C - Pointer

  • C - Pointers
  • C - Type Casting Of Pointers
  • C - Pointer Advantages
  • C - Pointers Initialization
  • C - Vectors and Pointers

C - Differences

  • C - C Vs C++
  • C - Formal Args. Vs Actual Args.
  • C - Keywords Vs Identifiers
  • C - Strings Vs Character Arrays
  • C - Address Vs Dereference Operator
  • C - Goto Vs longjmp
  • C - Declaring Vs Defining Variable
  • C - String Vs Array
  • C - Call by Value Vs Reference
  • C - Structure Vs Union
  • C - For Vs While loops
  • C - Compiler Vs Interpreter

C - Programs

  • C Program Standard Deviation
  • C Program Calculate Tax
  • C Program Sum Series
  • C Program Merge Arrays
  • C Program Euclid’s Algorithm
  • C Program Print Weekdays
  • C Program Sum of Digits
  • C Program Print a list
  • C Program Print Pythagorean
  • C Program Quiz program
  • C Program Display Table
  • C Program Print Comma-Separated
  • C Program Prints Prime Numbers
  • C Program for Print Integer
  • C Program Count Number
  • C Program Print Color Name
  • C Program Print Odd Numbers
  • C Program Calculate area
  • C Program for a Menu
  • C Program Add Two Vectors
  • C Program Array Addresses
  • C Program Division by Zero Error
  • C Program Compare two Dates
  • C Program Tower of Hanoi
  • C Program return 3 Numbers
  • C Program for Prime Numbers
  • C Program for Factorial
  • C Program for Palindrome

Other Links

  • C Programming - PDF Version

Footer

Basic Course

  • Computer Fundamental
  • Computer Networking
  • Operating System
  • Database System
  • Computer Graphics
  • Management System
  • Software Engineering
  • Digital Electronics
  • Electronic Commerce
  • Compiler Design
  • Troubleshooting

Programming

  • Java Programming
  • Structured Query (SQL)
  • C Programming
  • C++ Programming
  • Visual Basic
  • Data Structures
  • Struts 2
  • Java Servlet
  • C# Programming
  • Basic Terms
  • Interviews

World Wide Web

  • Internet
  • Java Script
  • HTML Language
  • Cascading Style Sheet
  • Java Server Pages
  • Wordpress
  • PHP
  • Python Tutorial
  • AngularJS
  • Troubleshooting

 About Us |  Contact Us |  FAQ

Dinesh Thakur is a Technology Columinist and founder of Computer Notes.

Copyright © 2025. All Rights Reserved.

APPLY FOR ONLINE JOB IN BIGGEST CRYPTO COMPANIES
APPLY NOW