Advertisement
chevengur

СПРИНТ № 5 | Итераторы | Урок 5: Итераторы в методах контейнеров 2/3

Dec 28th, 2023
545
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.92 KB | None | 0 0
  1. #include <algorithm>
  2. #include <iostream>
  3. #include <set>
  4. #include <string>
  5. #include <vector>
  6.  
  7. using namespace std;
  8.  
  9. template <typename It>
  10. void PrintRange(It range_begin, It range_end) {
  11.     for (auto it = range_begin; it != range_end; ++it) {
  12.         cout << *it << " "s;
  13.     }
  14.     cout << endl;
  15. }
  16.  
  17. template <typename It>
  18. auto MakeSet(It range_begin, It range_end) {
  19.     return set(range_begin, range_end);
  20. }
  21.  
  22. template <typename It>
  23. auto MakeVector(It range_begin, It range_end){
  24.     return vector(range_begin, range_end);
  25. }
  26.  
  27. template <typename Container, typename IteratorType>
  28. void EraseAndPrint(Container& con, IteratorType start_) {
  29.     auto it_erase = con.erase(std::next(con.begin(), start_));
  30.     PrintRange(con.begin(), it_erase);
  31.     PrintRange(it_erase, con.end());
  32. }
  33.  
  34. int main() {
  35.     vector<string> langs = {"Python"s, "Java"s, "C#"s, "Ruby"s, "C++"s};
  36.     EraseAndPrint(langs, 2);
  37.     return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement