English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++ set crbegin()이 함수는 상수 반대 이터레이터를 반환하는 데 사용됩니다. 이 이터레이터는 set 컨테이너의 마지막 요소를 참조합니다.
set의 상수 반대 이터레이터는 반대 방향으로 이동하며, set 컨테이너의 시작(첫 번째 요소)에 도달하여 가리킵니다.상수요소.
const_reverse_iterator crbegin() const noexcept; //since C++ 11
없음
그는 상수 반대 이터레이터를 반환하며, 이 이터레이터는 집합의 마지막 요소를 가리킵니다.
없음
그는 상수 반대 이터레이터를 반환하며, 이 이터레이터는 다중 그래프의 마지막 요소를 가리킵니다.
불변합니다.
변경이 없습니다.
컨테이너가 접근됩니다.
집합의 요소에 동시에 접근하는 것은 안전합니다.
이 함수는 예외를 퍼뜨리지 않습니다.
crbegin() 함수의 간단한 예제를 보겠습니다:
#include <iostream> #include <set> using namespace std; int main() { set<int> myset = {50,20,40,10,30}; cout << "myset이 반대로 순서로:"; for (auto rit = myset.crbegin(); rit != myset.crend(); ++rit) cout << ' ' << *rit; cout << '\n'; return 0; }
출력:
myset은 반대로 순서로: 50 40 30 20 10
위의 예제에서 crbegin() 함수를 사용하여 상수 반대 이터레이터를 반환하여 이 이터레이터는 myset 집합의 마지막 요소를 가리킵니다.
set은 키의 정렬 순서에 따라 요소를 저장하기 때문에 set을 이터레이션하면 위의 순서, 즉 키의 정렬 순서에 따라 이루어집니다.
while 루프를 사용하여 집합을 반대 방향으로 탐색하는 간단한 예제를 보여드리겠습니다:
#include <iostream> #include <set> #include <string> #include <iterator> using namespace std; int main() { // 문자열 집합과 정수 집합을 생성 및 초기화합니다 set<string> setEx = {"bbb", "ccc", "aaa", "ddd"}; //집합의 마지막을 가리키는 이터레이터를 생성합니다 set<string>::const_reverse_iterator it = setEx.crbegin(); // 이터레이터를 사용하여 집합을 시작까지 탐색합니다. while (it != setEx.crend()) { //그가 가리키는 요소에서 키에 접근합니다. string word = *it; cout << word << endl; // 이터레이터를 증가시켜 다음 항목을 가리키도록 합니다 it++; } return 0; }
출력:
ddd ccc bbb aaa
위의 예제에서는 while 루프를 사용하여 집합을 반대 방향으로 const_iterate하고 crbegin() 함수를 사용하여 집합의 마지막 요소를 초기화했습니다.
set은 키의 정렬 순서에 따라 요소를 저장하기 때문에 set을 이터레이션하면 위의 순서, 즉 키의 정렬 순서에 따라 이루어집니다.
반대 방향 집합의 첫 번째 요소를 얻기 위한 간단한 예제를 보여드리겠습니다:
#include <iostream> #include <string> #include <set> using namespace std; int main() { set<int> s1 ={20,40,10,30}; auto ite = s1.crbegin(); cout << "반대 방향 집합s1의 첫 번째 요소는: "; cout << *ite; return 0; }
출력:
반대 방향 집합 s1의 첫 번째 요소는: 40
위의 예제에서 crbegin() 함수는 집합 s의 반대 방향 집합을 반환합니다1의 첫 번째 요소를, 즉40.
빠른 예제를 보여주어 최고점수를 정렬하고 계산하는 방법을 설명하겠습니다:
#include <iostream> #include <string> #include <set> using namespace std; int main() { set<int> marks = {400, 220, 300, 250, 365}; cout << "Marks" << " | " << "Roll Number" << '\n'; cout<<"______________________\n"; set<int>::const_reverse_iterator rit; for(rit=marks.crbegin(); rit!=marks.crend(); ++rit) cout << *rit<< '\n'; auto ite = marks.crbegin(); cout << "\n가장 높은 점수는: "<< *ite<<" \n"; return 0; }
출력:
Marks | Roll Number ______________________ 400 365 300 250 220 가장 높은 점수는: 400
위의 예제에서는 요소가 키로 저장된 집합 표시자를 구현했습니다. 함수 crbegin()는 집합의 자동 정렬 기능을 활용하여 가장 높은 점수를 인식할 수 있게 합니다.