C++ vector::rbegin() 函数



C++ `vector::rbegin()` 函数用于返回指向向量最后一个元素的反向迭代器。反向迭代器向后迭代,其结果递增会将向量容器前进到开头。类似地,减少反向迭代器会导致向量容器移动到末尾。`rbegin()` 函数的时间复杂度是常数。

与返回对最后一个元素的直接引用的 `back()` 函数相反,此函数返回指向向量同一元素的反向迭代器。

语法

以下是 C++ `vector::rbegin()` 函数的语法:

reverse_iterator rbegin() noexcept;const_reverse_iterator rbegin() const noexcept;

参数

它不包含任何参数。

示例 1

让我们考虑以下示例,我们将使用 `rbegin()` 函数。

#include <iostream>
#include <vector>
using namespace std;

int main(void){
   vector<int> v = {1, 2, 3, 4, 5};
   for (auto it =  v.rbegin(); it != v.rend(); ++it)
      cout << *it << endl;
   return 0;
}

输出

编译并运行上述程序时,将产生以下结果:

5
4
3
2
1

示例 2

考虑另一个场景,我们将使用 `char` 类型。

#include <iostream>
#include<vector>
using namespace std;

int main(){
   vector<char> myvector{'T','L','E','Z','U','R','C'};
   vector<char>::reverse_iterator x;
   for(x=myvector.rbegin(); x!=myvector.rend(); x++)
      std::cout<< *x;
   return 0;
}

输出

运行上述程序后,将产生以下结果:

CRUZELT

示例 3

在以下示例中,我们将使用 `push_back()` 函数插入元素并获取向量的最后一个元素。

#include <iostream>
#include <vector>
using namespace std;

int main(){
   vector<int> myvector;
   myvector.push_back(22);
   myvector.push_back(44);
   myvector.push_back(6);
   myvector.push_back(8);
   vector<int>::reverse_iterator x;
   x = myvector.rbegin();
   cout << "Last Element Is : " << *x << endl;
   return 0;
}

输出

执行上述程序时,将产生以下结果:

Last Element Is : 8

示例 4

以下示例使用字符串类型并应用 `rbegin()` 函数。

#include <iostream>
#include <vector>
using namespace std;

int main (){
   vector<string> foodchain{"Tiger","Cow ->","Tree ->"};
   vector<string>::reverse_iterator x;
   x = foodchain.rbegin();
   cout<<*x<<" ";
   x++;
   cout<<*x<<" ";
   x++;
   cout<<*x<<" ";
   return 0;
}

输出

运行上述程序后,将产生以下结果:

Tree -> Cow ->  Tiger
广告