কম্পিউটার

একটি অ্যারেকে C++ এ একটি সার্কুলার ডাবললি লিঙ্কযুক্ত তালিকায় রূপান্তর করুন


এই টিউটোরিয়ালে, আমরা একটি অ্যারেকে বৃত্তাকার দ্বিগুণ লিঙ্কযুক্ত তালিকায় রূপান্তর করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব৷

এর জন্য আমাদের একটি অ্যারে দেওয়া হবে। আমাদের কাজ হল অ্যারের উপাদানগুলি নেওয়া এবং এটিকে একটি বৃত্তাকার দ্বিগুণ লিঙ্কযুক্ত তালিকায় রূপান্তর করা৷

উদাহরণ

#include<iostream>
using namespace std;
//node structure for doubly linked list
struct node{
   int data;
   struct node *next;
   struct node *prev;
};
//node creation
struct node* getNode(){
   return ((struct node *)malloc(sizeof(struct node)));
}
//printing the list
int print_list(struct node *temp){
   struct node *t = temp;
   if(temp == NULL)
   return 0;
   else {
      cout<<"List: ";
      while(temp->next != t) {
         cout<<temp->data<<" ";
         temp = temp->next;
      }
      cout<<temp->data;
      return 1;
   }
}
//converting array to linked list
void convert_array(int arr[], int n, struct node **start) {
   //declaring new pointer
   struct node *newNode,*temp;
   int i;
   //moving through all the elements
   for(i=0;i<n;i++){
      newNode = getNode();
      newNode->data = arr[i];
      if(i==0) {
         *start = newNode;
         newNode->prev = *start;
         newNode->next = *start;
      } else  {
         //calculating the last node
         temp = (*start)->prev;
         temp->next = newNode;
         newNode->next = *start;
         newNode->prev = temp;
         temp = *start;
         temp->prev = newNode;
      }
   }
}
int main(){
   int arr[] = {1,2,3,4,5};
   int n = sizeof(arr) / sizeof(arr[0]);
   struct node *start = NULL;
   convert_array(arr, n, &start);
   print_list(start);
   return 0;
}

আউটপুট

List: 1 2 3 4 5

  1. C++ এ সার্কুলার লিঙ্কড লিস্টের নোডের সমষ্টি

  2. C++ এ দ্বিগুণ লিঙ্কযুক্ত তালিকার আকার খোঁজার প্রোগ্রাম

  3. C++ এ সার্কুলার লিঙ্ক তালিকায় নোড গণনা করুন

  4. C++ এ দ্বিগুণ লিঙ্কযুক্ত তালিকা ব্যবহার করে অগ্রাধিকার সারি