- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Convert singly linked list into circular linked list in C++
In this tutorial, we will be discussing a program to convert a singly linked list into circular linked list.
For this we will be provided with a singly linked list. Our task is to take the elements of that list and get it converted into a circular linked list.
Example
#include <bits/stdc++.h> //node structure of linked list struct Node { int data; struct Node* next; }; //converting singly linked list //to circular linked list struct Node* circular(struct Node* head){ struct Node* start = head; while (head->next != NULL) head = head->next; //assigning start to the head->next node //if head->next points to NULL head->next = start; return start; } void push(struct Node** head, int data){ //creation of new node struct Node* newNode = (struct Node*)malloc (sizeof(struct Node)); //putting data in new node newNode->data = data; newNode->next = (*head); (*head) = newNode; } //displaying the elements of circular linked list void print_list(struct Node* node){ struct Node* start = node; while (node->next != start) { printf("%d ", node->data); node = node->next; } printf("%d ", node->data); } int main(){ struct Node* head = NULL; push(&head, 15); push(&head, 14); push(&head, 13); push(&head, 22); push(&head, 17); circular(head); printf("Display list: \n"); print_list(head); return 0; }
Output
Display list: 17 22 13 14 15
Advertisements