Как найти N-й наименьший элемент?
Я пытаюсь написать функцию, чтобы найти N-й наименьший элемент в моем векторе.
#include <vector>
#include <iostream>
using namespace std ;
int nthSmallest (vector<int> passed , int nSmallest)
{
int temp = passed.size() ;
for(int i = 0; i < nSmallest; i++) {
if(temp>passed[i]) {
temp=passed[i];
}
}
return 1 ;
}
int main() {
std::cout << nthSmallest(vector<int>{3,1,2} ,2) << "\n"; // should print 2
std::cout << nthSmallest(vector<int>{15,20,7,10,4,3} ,3) << "\n"; // should print 7
std::cout << nthSmallest(vector<int>{-5,-1,-6,-18} ,4) << "\n"; // should print -1
std::cout << nthSmallest(vector<int>{-102,-16,-1,-2,-367,-9} ,5) << "\n"; // should print -2
std::cout << nthSmallest(vector<int>{2,169,13,-5,0,-1} ,4) << "\n"; // should print 2
std::cout << nthSmallest(vector<int>{177,225,243,-169,-12,-5,2,92} ,5) << "\n"; // should print 92
}
Подскажите как поменять и в чем проблема