এই টিউটোরিয়ালে, আমরা একটি সিংলি লিংকড লিস্টকে সার্কুলার লিংকড লিস্টে রূপান্তর করার প্রোগ্রাম নিয়ে আলোচনা করব।
এখানে আমাদের একটি সিংলি লিংকড লিস্ট দেওয়া থাকবে। আমাদের কাজ হবে সেই লিস্টের উপাদানগুলো নিয়ে সেটিকে একটি সার্কুলার লিংকড লিস্টে রূপান্তর করা।
উদাহরণ
#include <bits/stdc++.h> // লিংকড লিস্টের নোড স্ট্রাকচার struct Node { int data; struct Node* next; }; // সিংলি লিংকড লিস্টকে // সার্কুলার লিংকড লিস্টে রূপান্তর করা struct Node* circular(struct Node* head){ struct Node* start = head; while (head->next != NULL) head = head->next; // যদি head->next NULL কে নির্দেশ করে, তবে start কে head->next-এ বসানো head->next = start; return start; } void push(struct Node** head, int data){ // নতুন নোড তৈরি struct Node* newNode = (struct Node*)malloc (sizeof(struct Node)); // নতুন নোডে ডেটা রাখা newNode->data = data; newNode->next = (*head); (*head) = newNode; } // সার্কুলার লিংকড লিস্টের উপাদানগুলো প্রদর্শন করা 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