কম্পিউটার টিউটোরিয়াল

দুটি লিংকড লিস্ট থেকে সর্বোচ্চ উপাদান বেছে নেওয়া একটি নতুন লিংকড লিস্ট তৈরি করা C++ প্রোগ্রামে


এই টিউটোরিয়ালে আমরা দুটি লিংকড লিস্ট থেকে একটি নতুন লিংকড লিস্ট তৈরি করার প্রোগ্রাম লিখব।

একই সাইজের দুটি লিংকড লিস্ট দেওয়া আছে এবং আমাদের لتلك দুটি লিস্ট থেকে প্রতিটি পজিশনে সর্বোচ্চ সংখ্যা নিয়ে একটি নতুন লিংকড লিস্ট তৈরি করতে হবে।

সমস্যা সমাধানের ধাপগুলো:

  • নোডের জন্য একটি struct লিখুন।

  • একই সাইজের দুটি লিংকড লিস্ট তৈরি করুন।

  • লিংকড লিস্টের ওপর ইটারেট করুন।

    • দুটি লিংকড লিস্টের নোড থেকে সর্বোচ্চ সংখ্যা বের করুন।

    • সর্বোচ্চ সংখ্যা দিয়ে একটি নতুন নোড তৈরি করুন।

    • নতুন নোডটিকে নতুন লিংকড লিস্টে যোগ করুন।

  • নতুন লিংকড লিস্ট প্রিন্ট করুন।

উদাহরণ

নিচে কোডটি দেওয়া হলো:

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

আউটপুট

উপরের কোডটি রান করলে নিচের ফলাফল পাওয়া যাবে:

3 -> 2 -> 3 -> 4 -> NULL

উপসংহার

টিউটোরিয়াল সম্পর্কে কোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানান।


  1. লিঙ্কড লিস্ট থেকে দুটি সংখ্যা গুণ করে তৃতীয় লিস্টে ফলাফল সংরক্ষণ - সি++

  2. C++-এ দুটি লিঙ্কড লিস্টের ইন্টারসেকশন পয়েন্ট খুঁজে বের করা

  3. ২D ম্যাট্রিক্স থেকে লিঙ্কড লিস্ট তৈরি করা C++-তে (রিকার্সিভ পদ্ধতি)

  4. C++-এ ডাবলি লিংকড লিস্টের আকার (Size) বের করার প্রোগ্রাম