Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ STL의 rbegin() 및 rend() 함수 나열

<시간/>

이 기사에서는 C++ STL에서 list::rbegin() 및 list::rend() 함수의 작동, 구문 및 예제에 대해 논의할 것입니다.

STL의 목록이란 무엇입니까?

목록은 순서대로 어디에서나 일정한 시간 삽입 및 삭제를 허용하는 데이터 구조입니다. 목록은 이중 연결 목록으로 구현됩니다. 목록은 비연속적인 메모리 할당을 허용합니다. 목록은 배열, 벡터 및 데크보다 컨테이너의 모든 위치에서 요소의 삽입 추출 및 이동을 더 잘 수행합니다. 목록에서 요소에 대한 직접 액세스는 느리고 목록은 forward_list와 비슷하지만 앞으로 목록 개체는 단일 연결 목록이며 앞으로만 반복될 수 있습니다.

목록::rbegin()은 무엇입니까?

list::rbegin()은 헤더 파일에 선언된 C++ STL의 내장 함수입니다. rbegin()은 역 시작 함수입니다. rebegin()은 목록의 마지막 요소를 가리키는 역방향 반복자를 반환합니다. 역반복자(Reverse iterator)는 끝에서 시작하여 시작을 향해 이동하는 역방향으로 이동하는 반복기입니다. 그러나 back()은 마지막 요소도 반환하지만 단순 반복자와 달리 이 양방향 반복자는 역방향으로 이동합니다.

구문

list_container1.rbegin();

매개변수

이 함수는 매개변수를 허용하지 않습니다.

예시

Input: list<int> List_container = {10, 11, 13, 15};
      List_container.rbegin();
Output:
      List= 15

반환 값

이 함수는 목록의 마지막 요소를 가리키는 역방향 반복자를 반환합니다. 역방향 반복자는 역방향으로 이동하는 반복자입니다.

예시

#include <bits/stdc++.h>
using namespace std;
int main(){
   list<int> myList = { 10, 20, 30, 40 };
   cout<<"List is: ";
   for (auto i = myList.rbegin(); i!= myList.rend(); ++i)
      cout << *i << " ";
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

List is: 40 30 20 10

목록::rend()는 무엇입니까?

list::rend()는 헤더 파일에 선언된 C++ STL의 내장 함수입니다. rend()는 역 끝 함수입니다. rend()는 연결된 목록 컨테이너의 첫 번째 요소 앞의 위치를 ​​가리키는 역방향 반복자를 반환합니다. 역반복자(Reverse iterator)는 끝에서 시작하여 시작을 향해 이동하는 역방향으로 이동하는 반복기입니다. 그러나 back()은 마지막 요소도 반환하지만 단순 반복자와 달리 이 양방향 반복자는 역방향으로 이동합니다.

구문

list_container1.rend();

이 함수는 매개변수를 허용하지 않습니다.

예시

Input: list<int> List_container= { 10, 11, 13, 15};
      List_container.rend();
Output:
      List= 5 //will display random value which is before the beginning of the list

반환 값

이 함수는 목록의 첫 번째 요소 앞의 요소를 가리키는 역방향 반복자를 반환합니다. 역방향 반복자는 역방향으로 이동하는 반복자입니다.

예시

#include <bits/stdc++.h>
using namespace std;
int main(){
   list<int> myList = { 10, 20, 30, 40 };
      cout<<"List is : ";
   for (auto i = myList.rbegin(); i!= myList.rend(); ++i)
      cout << *i << " ";
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

List is: 40 30 20 10