DS9

 Practical Name : Write a ‘C’ program to create Circularly Doubly Linked list and display it. Student 


#include <stdio.h> #include <stdlib.h struct node {

int num;


struct node * nextptr;


}*stnode;


void ClListcreation(int n); void displayClList();

int main()


{


int n;


stnode = NULL;


printf("\n\n Circular Linked List : Create and display a circular linked list :\n"); printf(" \n");

printf(" Input the number of nodes : "); scanf("%d", &n);

ClListcreation(n); displayClList(); return 0;

}

 


void ClListcreation(int n)

{


int i, num;


struct node *preptr, *newnode; if(n >= 1)

{


stnode = (struct node *)malloc(sizeof(struct node)); printf(" Input data for node 1 : ");

scanf("%d", &num); stnode->num = num; stnode->nextptr = NULL; preptr = stnode;

for(i=2; i<=n; i++)


{


newnode = (struct node *)malloc(sizeof(struct node)); printf(" Input data for node %d : ", i);

scanf("%d", &num); newnode->num = num; newnode->nextptr = NULL; preptr->nextptr = newnode; preptr = newnode;

}


preptr->nextptr = stnode;


}


}

 


void displayClList() struct node *tmp; int n = 1;

if(stnode == NULL)


{


printf(" No data found in the List yet.");


}


else


{


tmp = stnode;


printf("\n\n Data entered in the list are :\n"); do {

printf(" Data %d = %d\n", n, tmp->num); tmp = tmp->nextptr;

n++;


}while(tmp != stnode);


}


}


Post a Comment

Previous Post Next Post