multiset find() function in C++ STL
The multiset::find() is a built-in function in C++ STL which returns an iterator pointing to the lower_bound of the element which is searched in the multiset container. If the element is not found, then the iterator points to the position past the last element in the set.
Syntax:
multiset_name.find(element)
Parameters: The function accepts one mandatory parameter element which specifies the element to be searched in the multiset container.
Return Value: The function returns an iterator which points to the element which is searched in the multiset container. If the element is not found, then the iterator points to the position just after the last element in the multiset.
Time complexity: If n is the size of multiset, then the time complexity of multiset::find() function is logarithmic order of n i.e. O(log(n)).
Below program illustrates the above function.
Program 1:
CPP
// CPP program to demonstrate the // multiset::find() function #include <bits/stdc++.h> using namespace std; int main() { // Initialize multiset multiset< int > s; s.insert(1); s.insert(4); s.insert(2); s.insert(5); s.insert(3); s.insert(3); s.insert(3); s.insert(5); cout << "The set elements are: " ; for ( auto it = s.begin(); it != s.end(); it++) cout << *it << " " ; // iterator pointing to // position where 2 is auto pos = s.find(3); // prints the set elements cout << "\nThe set elements after 3 are: " ; for ( auto it = pos; it != s.end(); it++) cout << *it << " " ; return 0; } |
The set elements are: 1 2 3 3 3 4 5 5 The set elements after 3 are: 3 3 3 4 5 5
Program 2:
CPP
// CPP program to demonstrate the // multiset::find() function #include <bits/stdc++.h> using namespace std; int main() { // Initialize multiset multiset< char > s; s.insert( 'a' ); s.insert( 'a' ); s.insert( 'a' ); s.insert( 'b' ); s.insert( 'c' ); s.insert( 'a' ); s.insert( 'a' ); s.insert( 'c' ); cout << "The set elements are: " ; for ( auto it = s.begin(); it != s.end(); it++) cout << *it << " " ; // iterator pointing to // position where 2 is auto pos = s.find( 'b' ); // prints the set elements cout << "\nThe set elements after b are: " ; for ( auto it = pos; it != s.end(); it++) cout << *it << " " ; return 0; } |
The set elements are: a a a a a b c c The set elements after b are: b c c
Please Login to comment...