কম্পিউটার

C++ এ একটি লিঙ্ক করা তালিকার দৈর্ঘ্য খুঁজুন (পুনরাবৃত্ত এবং পুনরাবৃত্তিমূলক)


এখানে আমরা দেখব কিভাবে পুনরাবৃত্ত এবং পুনরাবৃত্ত পদ্ধতি ব্যবহার করে লিঙ্ক করা তালিকার দৈর্ঘ্য খুঁজে বের করা যায়। হেড পয়েন্টার দেওয়া হলে, দৈর্ঘ্য পেতে আমাদের এই ধাপগুলি অনুসরণ করতে হবে।

  • পুনরাবৃত্তিমূলক পদ্ধতির জন্য -

    • তালিকার প্রধানটি নিন, যতক্ষণ না বর্তমান পয়েন্টারটি শূন্য না হয়, পরবর্তী নোডে যান এবং গণনা বাড়ান৷

  • পুনরাবৃত্তিমূলক পদ্ধতির জন্য -

    • একটি আর্গুমেন্ট হিসাবে হেড পাস করুন, মূল শর্ত হল যখন আর্গুমেন্টটি শূন্য হয়, তারপর 0 ফেরত দিন, অন্যথায় পুনরাবৃত্তভাবে তালিকায় প্রবেশ করুন এবং বর্তমান নোড থেকে পরবর্তী নোডটি পাঠান, সাবলিস্টের 1 + দৈর্ঘ্য ফেরত দিন

উদাহরণ

#include<iostream>
using namespace std;
class Node {
   public:
      int data;
   Node* next;
};
void append(struct Node** start, int data) {
   struct Node* new_node = new Node;
   new_node->data = data;
   new_node->next = (*start);
   (*start) = new_node;
}
int count_recursive(Node* start) {
   if (start == NULL)
      return 0;
   return 1 + count_recursive(start->next);
}
int count_iterative(Node* start) {
   int count = 0;
   Node* current = start;
   while (current != NULL) {
      count++;
      current = current->next;
   }
   return count;
}
int main() {
   Node* start = NULL;
   append(&start, 1);
   append(&start, 3);
   append(&start, 1);
   append(&start, 2);
   append(&start, 1);
   cout << "Node count using iterative approach: " << count_iterative(start) << endl;
   cout << "Node count using recursion: " << count_recursive(start);
}

আউটপুট

Node count using iterative approach: 5
Node count using recursion: 5

  1. C++ এ বহুস্তরের লিঙ্কযুক্ত তালিকা সমতল করুন

  2. C++ এ লিঙ্ক করা তালিকায় লুপের দৈর্ঘ্য খুঁজুন

  3. C++ এ একটি বাইনারি ট্রি (পুনরাবৃত্ত এবং পুনরাবৃত্তিমূলক) পূর্ণ নোড গণনা করুন

  4. একটি বাইনারি ট্রিতে অর্ধেক নোড গণনা করুন (পুনরাবৃত্ত এবং পুনরাবৃত্তিমূলক) C++ এ