কম্পিউটার

C++ এ লিঙ্ক করা তালিকায় নোডের ছোট উপাদানের যোগফল


এই সমস্যায়, আমাদের দুটি মান এবং একটি পয়েন্টার সমন্বিত একটি নোড সহ একটি লিঙ্কযুক্ত তালিকা দেওয়া হয়েছে। আমাদের কাজ হল একটি লিঙ্ক করা তালিকায় একটি নোডের ছোট উপাদানগুলির যোগফল খুঁজে বের করার জন্য একটি প্রোগ্রাম তৈরি করা৷

এখানে, লিঙ্ক করা তালিকায় আমাদের কাছে X এবং Y বলে দুটি উপাদান রয়েছে। প্রোগ্রামটি ন্যূনতম x এবং y খুঁজে পাবে। সমস্ত নোড থেকে ন্যূনতম উপাদান যোগ করা হয় যা প্রয়োজনীয় ফলাফল।

ইনপুট

(5,2)->(7,9)->(6,3)->(36,24)->(19,26)->null

আউটপুট

55

ব্যাখ্যা

আসুন প্রতিটি নোড থেকে ন্যূনতম X এবং Y নিই -

node1 - mini = 5
node2 - mini = 7
node3 - mini = 3
node4 - mini = 24
node5 - mini = 19
Sum = 55

এই সমস্যাটি সমাধান করার জন্য, আমরা প্রতিটি নোড পরিদর্শন করে একটি স্ট্রেগথ ফরোয়ার্ড পদ্ধতি ব্যবহার করব এবং ন্যূনতম X এবং Y খুঁজে বের করব। তারপর যোগফল ভেরিয়েবলে যোগ করব এবং নোড শেষ হলে যোগফল ফেরত দেব।

অ্যালগরিদম

শুরু করুন − যোগফল =0

পদক্ষেপ1 - তালিকাটি অতিক্রম করুন এবং নিম্নলিখিতগুলি করুন:

পদক্ষেপ 1.1৷ − ন্যূনতম হেড → X এবং head → Y.

খুঁজুন

পদক্ষেপ 1.2৷ - যোগফলের সাথে সর্বনিম্ন যোগ করুন

ধাপ 2 - যোগফল ফেরত দিন,

উদাহরণ

আমাদের অ্যালগরিদম -

-এর কাজ চিত্রিত করার জন্য প্রোগ্রাম
#include <iostream>
using namespace std;
struct Node {
   int X;
   int Y;
   Node* next;
};
void addNode(Node** head, int x, int y){
   Node* ptr = *head;
   Node* temp = new Node();
   temp->X = x;
   temp->Y = y;
   temp->next = NULL;
   if (*head == NULL)
      *head = temp;
   else {
      while (ptr->next != NULL)
         ptr = ptr->next;
         ptr->next = temp;
   }
}
int findMinSum(Node* head){
   int sum = 0;
   while (head != NULL) {
      sum += min(head->X , head->Y);
      head = head->next;
   }
   return sum;
}
int main(){
   Node* head = NULL;
   addNode(&head, 5, 2);
   addNode(&head, 7, 9);
   addNode(&head, 6, 3);
   addNode(&head, 36, 24);
   addNode(&head, 19, 26);
   cout<<"The sum of smaller elements of nodes in Linked List is "<<findMinSum(head)<<endl;
   return 0;
}

আউটপুট

The sum of smaller elements of nodes in Linked List is 55

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

  2. C++ এ লিঙ্ক করা তালিকার বিকল্প নোডের যোগফল

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

  4. C++ এ পুনরাবৃত্তি ব্যবহার করে লিঙ্ক করা তালিকার বিকল্প নোড প্রিন্ট করুন