এই সমস্যায়, আমরা একটি লিঙ্ক তালিকা দেওয়া হয়. আমাদের কাজ হল এমন একটি ফাংশন তৈরি করা যা লিঙ্ক করা তালিকায় একটি প্রদত্ত সংখ্যা কতবার আসে তা গণনা করতে সক্ষম হবে৷
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
ইনপুট
Linked list = 10-> 50 -> 10 -> 20 -> 100 -> 10, int = 10
আউটপুট
3
ব্যাখ্যা − লিঙ্ক করা তালিকায় 10 নম্বরটি 3 বার আসে৷
৷এই সমস্যার সমাধান সহজ, শুধুমাত্র লিঙ্ক করা তালিকাটি অতিক্রম করুন এবং একটি কাউন্টার বৃদ্ধি করুন বর্তমান নোডের মান প্রদত্ত সংখ্যার সমান।
লিঙ্কযুক্ত তালিকার নোডগুলির উপর লুপিং পুনরাবৃত্তির পাশাপাশি পুনরাবৃত্তি ব্যবহার করে করা যেতে পারে এবং আমরা সমস্যা সমাধানের জন্য উভয় পদ্ধতির চিত্রিত করছি
পুনরাবৃত্তি ব্যবহার করে সমাধান চিত্রিত করার জন্য প্রোগ্রাম,
উদাহরণ
#include <iostream> using namespace std; class Node { public: int data; Node* next; }; void push(Node** head_ref, int new_data) { Node* new_node = new Node(); new_node->data = new_data; new_node->next = (*head_ref); (*head_ref) = new_node; } int countInt(Node* head, int search_for) { Node* current = head; int intCount = 0; while (current != NULL) { if (current->data == search_for) intCount++; current = current->next; } return intCount; } int main() { Node* head = NULL; push(&head, 10); push(&head, 40); push(&head, 10); push(&head, 50); push(&head, 20); push(&head, 90); push(&head, 10); cout<<"The count of 10 in the linked list is "<<countInt(head, 10); return 0; }
আউটপুট
লিঙ্ক করা তালিকায় 10 জনের সংখ্যা হল 3
পুনরাবৃত্তি ব্যবহার করে সমাধান চিত্রিত করার জন্য প্রোগ্রাম,
উদাহরণ
#include <iostream> using namespace std; int intCount = 0; class Node { public: int data; Node* next; }; void push(Node** head_ref, int new_data) { Node* new_node = new Node(); new_node->data = new_data; new_node->next = (*head_ref); (*head_ref) = new_node; } int countInt(struct Node* head, int key){ if (head == NULL) return intCount; if (head->data == key) intCount++; return countInt(head->next, key); } int main() { Node* head = NULL; push(&head, 10); push(&head, 40); push(&head, 10); push(&head, 50); push(&head, 20); push(&head, 90); push(&head, 10); cout<<"The count of 10 in the linked list is "<<countInt(head, 10); return 0; }
আউটপুট
The count of 10 in the linked list is 3