এই টিউটোরিয়ালে, আমরা এককভাবে লিঙ্ক করা তালিকাকে সার্কুলার লিঙ্কড তালিকায় রূপান্তর করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব।
এই জন্য আমরা একটি একক লিঙ্ক তালিকা প্রদান করা হবে. আমাদের কাজ হল সেই তালিকার উপাদানগুলি নেওয়া এবং এটিকে একটি বৃত্তাকার লিঙ্কযুক্ত তালিকায় রূপান্তর করা।
উদাহরণ
#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; }
আউটপুট
Display list: 17 22 13 14 15