২-৪ঃ ভেক্টর মডিফাইয়ার ফাংশন -২
এই পেজে আমরা শিখবো কীভাবে ভেক্টরের ভ্যালু গুলা বিল্টইন ফাংশনের সাহায্যে রিপ্লেস করা যায় বা কোন একটি নির্দিষ্ট ভ্যালু খুজে বের করা যায় ।
আসেন কিছু পাওয়ারফুল বিল্ট ইন ফাংশন সম্পর্কে জেনে নেয়া যাক।
replace() -> এই ফাংশনের সাহায্যে আমরা vector এর কোন একটি নির্দিষ্ট রেঞ্জের একটি নির্দিষ্ট ভ্যালুকে অন্য একটি ভ্যালু দিয়ে রিপ্লেস করে দিতে পারি। এই ফাংশনের টাইম কমপ্লেক্সিটি হলো O(N) .
Syntax : replace(v.begin() , v.end() , target_value , change_value)
vector<int>v = {1,2,3,4,7,6,4,5,4,3,4} ;
replace(v.begin() , v.end() , 4, 100) // এই ফাংশন টি ভেক্টরের যে যে স্থানে ভ্যালু 4 আছে তা চেঞ্জ করে 100 করে দিবে
for(int i =0 ;i<v.size() ;i++) {
cout << v[i] << endl ;
} // Output : 1 2 3 100 7 6 100 5 100 3 100
find() -> এই ফাংশনের সাহায্যে আমরা ভেক্টর এর কোন একটি ভ্যালু আছে কিনা খুজে দেখতে পারি। এই ফাংশন আমাদের একটি ইটারেটর রিটার্ন করে যা ঐ ভ্যালুটির ইন্ডেক্সে পয়েন্ট করা থাকে, আর যদি ভ্যালুটি খুজে না পায় তবে v.end() এ পয়েন্ট করে থাকে । এই ফাংশনের টাইম কমপ্লেক্সিটি হলো O(N).
Syntax : find(v.begin() , v.end() , target_value )
vector<int>v = {1,2,3,4,7,6,4,5,4,3,4} ;
auto it = find(v.begin() , v.end() , 6) ; // ৬ ভ্যালুটি ভেক্টরের মধ্যে পেলে প্রথম যে জায়গায় ভ্যালুটি আছে তার ইটারেটর টা রিটার্ন করা হবে
if( it != v.end()){ // যদি ভ্যালুটি পাওয়া না যায় তবে it তে v.end() স্টোর হবে।
cout << "found the value " << *it << endl } // যেহেতু ইটারেটর একটি পয়েন্টার এর মতো কাজ করে , তাই আমরা it কে dereferencing করে তার ভ্যালু দেখতে পারবো
else {
cout << "not found" << endl ;
}
Last updated