Advertisement
Miseryk

C++ Branchless loop get index by min value

Mar 21st, 2023
450
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.43 KB | Source Code | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. int main()
  5. {
  6.     int min_index = 0;
  7.    
  8.     std::vector<int> arr;
  9.    
  10.     arr.push_back(333);
  11.     arr.push_back(666);
  12.     arr.push_back(999);
  13.     arr.push_back(0);
  14.    
  15.     for (int i = 1; i < arr.size(); i++)
  16.     {
  17.         min_index = (arr[i] < arr[min_index]) * i + (arr[i] >= arr[min_index]) * min_index;
  18.     }
  19.    
  20.     std::cout << min_index << std::endl;
  21.  
  22.     return 0;
  23. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement