Advertisement
RobertDeMilo

YB4.6 Использование итераторов в алгоритмах

Nov 11th, 2023
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.20 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <vector>
  4. #include <set>
  5. #include <map>
  6.  
  7. using namespace std;
  8.  
  9. template<typename It>
  10. void PrintRange(It range_begin, It range_end)
  11. {
  12.     for (auto it = range_begin; it != range_end; ++it)
  13.     {
  14.         cout << *it << " ";
  15.     }
  16. }
  17.  
  18. int main()
  19. {
  20.     vector <string> langs = { "Python", "C++", "C++", "Java", "C++" };
  21.  
  22.     /*auto it = remove_if(begin(langs), end(langs), [](const string& lang)
  23.         {return lang[0] == 'C'; });*/
  24.  
  25.     /*auto it = unique(begin(langs), end(langs));*/
  26.  
  27.     //langs.erase(it, end(langs));
  28.  
  29.     /*PrintRange(begin(langs), end(langs));*/
  30.  
  31.     auto it = min_element(begin(langs), end(langs));
  32.     auto it2 = max_element(begin(langs), end(langs));
  33.  
  34.     cout << *it << endl;
  35.     cout << *it2 << endl;
  36.  
  37.     auto p = minmax_element(begin(langs), end(langs));
  38.     cout << *p.first << ' ' << *p.second << endl;
  39.  
  40.     // Для множества нельзя вызывать те алгоритмы, которые как-то меняют переданный диапазон
  41.  
  42.     set <string> langss = { "Python", "C++", "C", "Java", "C#" };
  43.  
  44.     cout << all_of(begin(langss), end(langss), [](const string& lang)
  45.         {return lang[0] >= 'A' && lang[0] <= 'Z'; });
  46.  
  47.     return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement