나는 완벽하게 작동합니다 다음과 같은 코드가 있습니다.STL 컨테이너를 사용하여 컨테이너 upper_bound
목표 : 숫자 n이 주어지면 n의 다음 및 이전 번호를 찾습니다.
아래 예를 기반으로합니다. n = 50이면 60과 40을 따로 따로 섭니다.
upper_bound를 사용하여 60을 얻을 수 있습니다. 하지만 50을하기 전에 숫자를 얻는 방법을 제공 알고리즘을 찾을 것 같습니다. http://www.cplusplus.com/reference/stl/set/lower_bound/을 참조
set<int> myset;
set<int>::iterator it,itlow,itup;
for (int i=1; i<10; i++) myset.insert(i*10); // 10 20 30 40 50 60 70 80 90
itup=myset.upper_bound (50); //
cout << "upper_bound at position " << (*itup) << endl;
//output: 60
, 그것은 UPPER_BOUND 말한다 "비교하지 않는 컨테이너의 첫 번째 요소를 가리키는 반복자를 반환 미만 X을"하지만, 뭔가 다른 무언가를 가리키는이 있는지 메신저가 x보다 작게 비교하십시오.
미리 감사드립니다. :)
'lower_bound'는 어떻습니까? – chris