unordered_set에서 마지막 요소를 가져와야하며, 다른 클래스가 아닌 unordered_set을 사용해야합니다. (대부분 내가 이미 완료된 많은 코드를 수정해야하기 때문에)하지만 가능한 유일한 방법은 반복적이며 요소를 저장 한 다음 반환하는 것입니다. 그러나 큰 세트에서는 너무 느릴 것입니다. 게다가 나는 이것을 시도하고 작동하지 않았다. unordered_set에서 마지막 요소 가져 오기
unordered_set <int>::iterator it = frames.end();
--it;
나는 다음과 같은 오류가 발생했습니다 : "에 대한 일치하지 않습니다 '--it'에서 'operator--'"
대부분이 때문에 유용의 종류, 그것의 데이터를 저장
에 " 스택 "방식으로, 다음과 같이 :
unordered_set<int> s;
s.insert(9);
s.insert(4);
s.insert(8);
s.insert(0);
s.insert(1);
unordered_set<int>::iterator it = s.end();
for(it = s.begin(); it!= s.end(); ++it)
cout << *(it) << " ";
가 인쇄 :"1 0 8 4 9 "
그래서"마지막 삽입 된 첫 번째 "요소"요소는 항상 9, 그것은이다 될 것 " 전에 말했듯이 "st 고맙습니다.의견을 제안 하시겠습니까?
*** 정렬되지 않은 *** 집합의 "마지막"요소가 무엇인지 정의하십시오. – Xeo
'마지막'요소가 정확히 무엇을 의미합니까? 보장 된 순서 (따라서 이름)가 없습니다 ... –
@templatetypedef : 나는'unordered_set'에만 forward iterators (http://ideone.com/HmSbD3)가 있다고 믿습니다. –