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
廣告