बदलाव न करने वाले algorithms: find, count, all_of
कंटेनर की सामग्री में बदलाव किए बिना उसे खोजें और test करें।
बदलाव न करने वाले algorithms: find, count, all_of, CoddyKit पर C++ Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह C++ Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। C++ Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
केवल-पठन क्रियाएँ
गैर-संशोधक एल्गोरिदम किसी रेंज को बदले बिना उसका निरीक्षण करते हैं। ये <algorithm> में मौजूद होते हैं।
std::find
किसी मान के बराबर पहले तत्व का स्थान खोजें। यह एक इटरेटर लौटाता है — तत्व न मिलने पर end।
#include <algorithm>
std::vector<int> v = {3, 1, 4, 1, 5};
auto it = std::find(v.begin(), v.end(), 4);
if (it != v.end()) std::cout << "found at " << (it - v.begin());std::find_if
किसी शर्त-जाँच फ़ंक्शन से मेल खाने वाले पहले तत्व को खोजें।
auto it = std::find_if(v.begin(), v.end(),
[](int x) { return x > 3; });std::find_if_not
find_if का उलटा — ऐसा पहला तत्व जो मेल नहीं खाता।
std::count और std::count_if
उपस्थितियों या मेल खाने वाले तत्वों की गिनती करें। ये ptrdiff_t लौटाते हैं।
int n = std::count(v.begin(), v.end(), 1); // count of 1s
int m = std::count_if(v.begin(), v.end(),
[](int x) { return x > 2; });std::all_of std::any_of std::none_of
रेंज पर शर्त-जाँच फ़ंक्शन की जाँच करें:
all_of— प्रत्येक तत्व मेल खाता हैany_of— कम-से-कम एक तत्व मेल खाता हैnone_of— कोई भी तत्व मेल नहीं खाता
bool allPositive = std::all_of(v.begin(), v.end(),
[](int x) { return x > 0; });
bool anyEven = std::any_of(v.begin(), v.end(),
[](int x) { return x % 2 == 0; });std::equal
दो रेंज की तुलना तत्व-दर-तत्व करें।
std::vector<int> a = {1, 2, 3};
std::vector<int> b = {1, 2, 3};
bool same = std::equal(a.begin(), a.end(), b.begin());std::mismatch
दो रेंज के बीच अलग होने वाले तत्वों की पहली जोड़ी खोजें। यह इटरेटर की एक जोड़ी लौटाता है।
std::adjacent_find
समान आसन्न तत्वों की पहली जोड़ी खोजें (या शर्त-जाँच फ़ंक्शन से मेल खाने वाली पहली जोड़ी)।
std::vector<int> v = {1, 2, 2, 3};
auto it = std::adjacent_find(v.begin(), v.end());
std::cout << *it; // 2std::min_element std::max_element
सबसे छोटे या सबसे बड़े तत्व का इटरेटर लौटाएँ। अलग तरीके से तुलना करने के लिए शर्त-जाँच फ़ंक्शन दें।
auto it = std::max_element(v.begin(), v.end());
std::cout << *it;std::for_each
प्रत्येक तत्व पर एक फ़ंक्शन कॉल करें। फ़ंक्शन के रिटर्न मान को अनदेखा किया जाता है।
std::for_each(v.begin(), v.end(),
[](int x) { std::cout << x << " "; });रेंज संस्करण (C++20)
C++20 ने ऐसे रेंज ओवरलोड जोड़े जो दो इटरेटर के बजाय एक रेंज स्वीकार करते हैं। इसका वाक्य-विन्यास अधिक साफ़ है।
#include <ranges>
auto it = std::ranges::find(v, 4);
bool ok = std::ranges::all_of(v, [](int x) { return x > 0; });त्वरित जाँच
कौन-सा एल्गोरिदम केवल तब true लौटाता है जब प्रत्येक तत्व किसी शर्त-जाँच फ़ंक्शन से मेल खाता हो?
पुनरावलोकन
गैर-संशोधक एल्गोरिदम रेंज को बदले बिना उसका निरीक्षण करते हैं: find, count, all_of/any_of/none_of, min_element, equal। C++20 की रेंज एकल-रेंज का अधिक साफ़ वाक्य-विन्यास देती हैं।
एआई शिक्षक के साथ C++ सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 51
- पाठ
- 203
अक्सर पूछे जाने वाले प्रश्न
क्या “बदलाव न करने वाले algorithms: find, count, all_of” पाठ निःशुल्क है?
हाँ — C++ Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “बदलाव न करने वाले algorithms: find, count, all_of” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। C++ Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“बदलाव न करने वाले algorithms: find, count, all_of” में मैं क्या सीखूँगा?
कंटेनर की सामग्री में बदलाव किए बिना उसे खोजें और test करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ C++ Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या C++ Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर C++ Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“बदलाव न करने वाले algorithms: find, count, all_of” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस C++ Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर C++ Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- बदलाव न करने वाले algorithms: find, count, all_of
- बदलाव करने वाले algorithms: transform, copy_if, replace
- Sorting और partitioning: sort, stable_partition
- Numeric algorithms: accumulate, reduce, transform_reduce