0% found this document useful (0 votes)
20 views2 pages

Question 1

The document shows code to create and display a singly linked list. It takes input for the number of nodes and their data. It allocates memory for nodes, links them and stores data. It then displays the linked list by traversing through the nodes.

Uploaded by

Ritesh Vashisht
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views2 pages

Question 1

The document shows code to create and display a singly linked list. It takes input for the number of nodes and their data. It allocates memory for nodes, links them and stores data. It then displays the linked list by traversing through the nodes.

Uploaded by

Ritesh Vashisht
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Question 1

Write a program to create and display Singly Linked List. 

Test Data :
Input the number of nodes : 3
Input data for node 1: 5
Input data for node 2: 6
Input data for node 3: 7

CODE:
#include <stdio.h>
#include <stdlib.h>

struct node 
{
  int num;            //Data of the node
  struct node *nextptr
}*stnode;

void createNodeList(int n); // function to create the list


void displayList();     // function to display the list

int main()
{
  int n;
printf("\n\n Linked List : To create and display Singly Linked List :\n");
printf("-------------------------------------------------------------\n");

  printf(" Input the number of nodes : ");


  scanf("%d", &n);
  createNodeList(n);
  printf("\n Data entered in the list : \n");
  displayList();
  return 0;
}
void createNodeList(int n)
{
  struct node *fnNode, *tmp;
  int num, i;
  stnode = (struct node *)malloc(sizeof(struct node));

  if(stnode == NULL) //check whether the fnnode is NULL and if so no memory allocation
  {
    printf(" Memory can not be allocated.");
  }
  else
  {
// reads data for the node through keyboard

    printf(" Input data for node 1 : ");


    scanf("%d", &num);
    stnode->num = num;    
    stnode->nextptr = NULL; // links the address field to NULL
    tmp = stnode;
// Creating n nodes and adding to linked list
    for(i=2; i<=n; i++)
    {
      fnNode = (struct node *)malloc(sizeof(struct node));
      if(fnNode == NULL)
      {
        printf(" Memory can not be allocated.");
        break;
      }
      else
      {
        printf(" Input data for node %d : ", i);
        scanf(" %d", &num);
 
        fnNode->num = num;   // links the num field of fnNode with num
        fnNode->nextptr = NULL; // links the address field of fnNode with NULL
 
        tmp->nextptr = fnNode; // links previous node i.e. tmp to the fnNode
        tmp = tmp->nextptr; 
      }
    }
  }
}
void displayList()
{
  struct node *tmp;
  if(stnode == NULL)
  {
    printf(" List is empty.");
  }
  else
  {
    tmp = stnode;
    while(tmp != NULL)
    {
      printf(" Data = %d\n", tmp->num);    // prints the data of current node
      tmp = tmp->nextptr;           // advances the position of current node
    }
  }

You might also like