কম্পিউটার

C++ প্রোগ্রামের প্রতিটি নোডে বৃহত্তর উপাদান সহ দুটি প্রদত্ত লিঙ্কযুক্ত তালিকা থেকে নতুন লিঙ্কযুক্ত তালিকা তৈরি করুন


এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যা প্রদত্ত লিঙ্ক করা তালিকা থেকে একটি নতুন লিঙ্কযুক্ত তালিকা তৈরি করে।

আমরা একই আকারের দুটি লিঙ্কযুক্ত তালিকা দিয়েছি এবং আমাদের দুটি লিঙ্ক করা তালিকা থেকে সর্বাধিক সংখ্যা সহ একটি নতুন লিঙ্কযুক্ত তালিকা তৈরি করতে হবে।

আসুন সমস্যা সমাধানের পদক্ষেপগুলি দেখি৷

  • একটি স্ট্রাকট নোড লিখুন।

  • একই আকারের দুটি লিঙ্কযুক্ত তালিকা তৈরি করুন।

  • লিঙ্ক করা তালিকার উপর পুনরাবৃত্তি করুন।

    • দুটি লিঙ্ক করা তালিকা নোড থেকে সর্বাধিক সংখ্যা খুঁজুন।

    • সর্বাধিক সংখ্যা সহ একটি নতুন নোড তৈরি করুন৷

    • নতুন লিঙ্ক করা তালিকায় নতুন নোড যোগ করুন।

  • নতুন লিঙ্ক করা তালিকা প্রিন্ট করুন।

উদাহরণ

আসুন কোডটি দেখি।

#include <bits/stdc++.h>
using namespace std;
struct Node {
   int data;
   Node* next;
};
void insertNewNode(Node** root, int data) {
   Node *ptr, *temp;
   temp = new Node;
   temp->data = data;
   temp->next = NULL;
   if (*root == NULL) {
      *root = temp;
   }
   else {
      ptr = *root;
      while (ptr->next != NULL) {
         ptr = ptr->next;
      }
      ptr->next = temp;
   }
}
Node* getNewLinkedList(Node* root1, Node* root2) {
   Node *ptr1 = root1, *ptr2 = root2, *ptr;
   Node *root = NULL, *temp;
   while (ptr1 != NULL) {
      temp = new Node;
      temp->next = NULL;
      if (ptr1->data < ptr2->data) {
         temp->data = ptr2->data;
      }
      else {
         temp->data = ptr1->data;
      }
      if (root == NULL) {
         root = temp;
      }
      else {
         ptr = root;
         while (ptr->next != NULL) {
            ptr = ptr->next;
         }
         ptr->next = temp;
      }
      ptr1 = ptr1->next;
      ptr2 = ptr2->next;
   }
   return root;
}
void printLinkedList(Node* root) {
   while (root != NULL) {
      cout << root->data << "->";
      root = root->next;
   }
   cout << "NULL" << endl;
}
int main() {
   Node *root1 = NULL, *root2 = NULL, *root = NULL;
   insertNewNode(&root1, 1);
   insertNewNode(&root1, 2);
   insertNewNode(&root1, 3);
   insertNewNode(&root1, 4);
   cout << "First Linked List: ";
   printLinkedList(root1);
   insertNewNode(&root2, 0);
   insertNewNode(&root2, 5);
   insertNewNode(&root2, 2);
   insertNewNode(&root2, 6);
   cout << "Second Linked List: ";
   printLinkedList(root2);
   root = getNewLinkedList(root1, root2);
   cout << "New Linked List: ";
   printLinkedList(root);
   return 0;
}

আউটপুট

আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

First Linked List: 1->2->3->4->NULL
Second Linked List: 0->5->2->6->NULL
New Linked List: 1->5->3->6->NULL

উপসংহার

টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।


  1. C++ এ লিংকড লিস্ট র্যান্ডম নোড

  2. সার্কুলারলি ডবললি লিংকড লিস্ট বাছাই করা C++ প্রোগ্রাম

  3. C++ সার্কুলার ডাবললি লিঙ্কড লিস্ট বাস্তবায়নের জন্য প্রোগ্রাম

  4. সার্কুলার সিঙ্গলি লিংকড লিস্ট বাস্তবায়নের জন্য C++ প্রোগ্রাম