Advertisement
Eksekk

Min element

May 27th, 2021
949
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.04 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. std::vector<int>::iterator min_element(std::vector<int>::iterator a, std::vector<int>::iterator b)
  5. {
  6.     if (a == b)
  7.     {
  8.         return b;
  9.     }
  10.  
  11.     int min1 = *a;
  12.     auto miniter = a;
  13.     while (a != b)
  14.     {
  15.         if (min1 > *a)
  16.         {
  17.             min1 = *a;
  18.             miniter = a;
  19.         }
  20.         ++a;
  21.     }
  22.     return miniter;
  23. }
  24.  
  25. std::vector<int>::const_iterator min_element(std::vector<int>::const_iterator a, std::vector<int>::const_iterator b)
  26. {
  27.     if (a == b)
  28.     {
  29.         return b;
  30.     }
  31.  
  32.     int min1 = *a;
  33.     auto miniter = a;
  34.     while (a != b)
  35.     {
  36.         if (min1 > *a)
  37.         {
  38.             min1 = *a;
  39.             miniter = a;
  40.         }
  41.         ++a;
  42.     }
  43.     return miniter;
  44. }
  45.  
  46. int main()
  47. {
  48.     std::vector<int> vector{7, 5, 1, 12, 8};
  49.     auto result1 = min_element(vector.begin(), vector.end());
  50.     auto result2 = min_element(vector.cbegin(), vector.cend());
  51.     std::cout << result1 - vector.begin() << " " << result2 - vector.cbegin() << std::endl;
  52. }
  53.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement