|
int IntArr[100];
for(int i=0 ; i<100 ; i++)
IntArr[i] = 2*i;
int Val = 55;
위에서처럼 int의 배열인 IntArr가 있고, 배열 IntVarr 은 크기가 작은 수부터 큰 수의 순서로 소트되어있는 상태라고 합시다.
그리고 또다른 int 변수인 Val 이 있는데, 하고 싶은 것은,
IntArr 배열 안에 있는 수들 중에서 Val 보다 작은 수들 중 가장 큰 수의 인덱스를 찾는 것입니다.
즉, IntArr 안에 있는 수들 중에서 Val보다 작은 것들 중 Val 과 가장 가까운 수를 찾는 것인데,
이런 일을 하는 STL 함수가 있나요?
이런 일을 할 때, IntArr[0] ,IntArr[1], .... 이런 식으로 순서대로 차례차례로 비교하면 O( N) 의 시간이 걸리는데,
IntArr가 이미 소트된 상태라는 것을 이용해서 O(logN) 의 시간이 걸리는 방법으로 이 일을 해주는 STL함수가 무엇인가요?
|