C++ STL-এ Set কী?
C++ STL-এ সেট হল এমন কন্টেইনার যেগুলো জেনারেল অর্ডারে ইউনিক এলিমেন্ট ধারণ করতে হবে। সেটে ইউনিক এলিমেন্ট থাকতে হয় কারণ এলিমেন্টের ভ্যালুই এলিমেন্টটিকে আইডেন্টিফাই করে। একবার একটি সেট কন্টেইনারে একটি ভ্যালু যোগ করলে পরে সেটা মডিফাই করা যায় না, যদিও আমরা এখনও সেটে ভ্যালু রিমুভ বা অ্যাড করতে পারি। সেটগুলো বাইনারি সার্চ ট্রি হিসেবে ব্যবহার করা হয়।
set::find() কী?
find() ফাংশন হল C++ STL-এ একটি বিল্ট-ইন ফাংশন, যা
সিনট্যাক্স
Set1.find(const type_t& element);
প্যারামিটার
এই ফাংশন এক প্যারামিটার গ্রহণ করে, অর্থাৎ वो এলিমেন্ট যা খুঁজে বের করতে হবে।
রিটার্ন ভ্যালু
এই ফাংশন একটি ইটারেটর রিটার্ন করে যা খুঁজে বের করা এলিমেন্টকে পয়েন্ট করে।
উদাহরণ
Input: set<int> myset = {10, 20, 40, 80, 90}; myset.find(40); Output: element found
সম্পূর্ণ কোড উদাহরণ ১
#include <bits/stdc++.h>
using namespace std;
int main() {
set<int> mySet;
mySet.insert(10);
mySet.insert(20);
mySet.insert(90);
mySet.insert(80);
mySet.insert(40);
auto temp = mySet.find(40);
cout << "Elements after 40 are: ";
for (auto i = temp; i != mySet.end(); i++)
cout << *i << " ";
return 0;
}
আউটপুট
Elements after 40 are: 40 80 90
সম্পূর্ণ কোড উদাহরণ ২
#include <iostream>
#include <set>
int main () {
std::set<int> mySet;
std::set<int>::iterator i;
for(int i = 1; i <= 4; i++)
mySet.insert(i * 2);
i = mySet.find(6);
mySet.erase(i);
mySet.erase(mySet.find(4));
std::cout << "elements are : ";
for (i = mySet.begin(); i != mySet.end(); ++i)
std::cout << ' ' << *i;
std::cout << '\n';
return 0;
}
আউটপুট
Elements are : 2 8