Как найти 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
}

Подскажите как поменять и в чем проблема

0 ответов

Другие вопросы по тегам