C Exercises: Create and display a circular linked list
Last update on February 26 2020 08:07:27 (UTC/GMT +8 hours)C Linked List : Exercise-22 with Solution
Write a program in C to create and display a circular linked list.
Pictorial Presentation:
Sample Solution:
C Code:
#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; // next address of new node set as NULL preptr->nextptr = newnode; // previous node is linking with new node preptr = newnode; // previous node is advanced } preptr->nextptr = stnode; //last node is linking with first node } } 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); } }Sample Output:
Circular Linked List : Create and display a circular linked list : ----------------------------------------------------------------------- Input the number of nodes : 3 Input data for node 1 : 2 Input data for node 2 : 5 Input data for node 3 : 8 Data entered in the list are : Data 1 = 2 Data 2 = 5 Data 3 = 8Flowchart:
ClListcreation() :
displayClList() :
C Practice online:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a program in C to find the maximum value from a doubly linked list.
Next: Write a program in C to insert a node at the beginning of a circular linked list.
What is the difficulty level of this exercise?
Easy Medium HardC Programming: Tips of the Day
What is the unsigned datatype?
unsigned really is a shorthand for unsigned int, and so defined in standard C.
Ref : //bit.ly/3CUXTUy
- New Content published on w3resource:
- Scala Programming Exercises, Practice, Solution
- Python Itertools exercises
- Python Numpy exercises
- Python GeoPy Package exercises
- Python Pandas exercises
- Python nltk exercises
- Python BeautifulSoup exercises
- Form Template
- Composer - PHP Package Manager
- PHPUnit - PHP Testing
- Laravel - PHP Framework
- Angular - JavaScript Framework
- Vue - JavaScript Framework
- Jest - JavaScript Testing Framework