এটি একটি C++ প্রোগ্রাম যা একটি ডেটা সেটে মোড (Mode) খুঁজে বের করে।
অ্যালগরিদম
শুরু
ফাংশন insertinset() সেটে ডেটা ইন্সার্ট করার জন্য।
newnode এবং temp(t) নোড তৈরি করুন।
newnode ব্যবহার করে লিস্টে নোড ইন্সার্ট করুন।
যদি head null থাকে তবে
নতুন নোডকে head-এ অ্যাসাইন করুন এবং কাউন্ট বাড়ান।
ইন্সারশনের সময় ইন্সারশন সোর্ট করুন ডেটা সোর্ট করার জন্য।
যদি newnode->data সেটে উপস্থিত যেকোনো এলিমেন্টের সমান হয়,
তবে শুধু কাউন্ট ইনক্রিমেন্ট করুন।
শেষ
উদাহরণ
#include <iostream>
using namespace std;
struct set { // ভেরিয়েবল ডিক্লেয়ার করার জন্য একটি স্ট্রাকচার set
int data;
int cnt;
set* n;
};
set* insertinset(set* head, int n) {
set* newnode = new set; // স্ট্রাকচার set-এর ভেরিয়েবল ব্যবহার
set* t = new set;
newnode->data = n;
newnode->cnt = 0;
newnode->n = NULL;
if (head == NULL) {
head = newnode;
head->cnt++;
return head;
} else {
t = head;
if (newnode->data < head->data) {
newnode->n = head;
head = newnode;
newnode->cnt++;
return head;
} else if (newnode->data == head->data) {
head->cnt++;
return head;
}
while (t->n != NULL) {
if (newnode->data == (t->n)->data) {
(t->n)->cnt++;
return head;
}
if (newnode->data < (t->n)->data)
break;
t = t->n;
}
newnode->n = t->n;
t->n = newnode;
newnode->cnt++;
return head;
}
}
int main() {
int n, i, num, max = 0, c;
set* head = new set;
head = NULL;
cout << "\nEnter the number of data element to be sorted: ";
cin >> n;
for (i = 0; i < n; i++) {
cout << "Enter element " << i+1 << ": ";
cin >> num;
head = insertinset(head, num); // ফাংশন কল
}
cout << "\nSorted Distinct Data ";
while (head != NULL) // যদি head null না হয়
{
if (max < head->cnt) {
c = head->data;
max = head->cnt;
}
cout << "->" << head->data << "(" << head->cnt << ")"; // ডেটার কাউন্ট রিটার্ন
head = head->n;
}
cout << "\nThe Mode of given data set is " << c << " and occurred " << max << " times.";
return 0;
}
আউটপুট
Enter the number of data element to be sorted: 10 Enter element 1: 1 Enter element 2: 2 Enter element 3: 0 Enter element 4: 2 Enter element 5: 3 Enter element 6: 7 Enter element 7: 6 Enter element 8: 2 Enter element 9: 1 Enter element 10: 1 Sorted Distinct Data ->0(1)->1(3)->2(3)->3(1)->6(1)->7(1) The Mode of given data set is 1 and occurred 3 times.