ベクトルの逆走査をどのように実装するか
反復可能にするにはイテレータや添字を使うとよい。
反復子を使用して逆順に反復する手順:
- rbegin()
- rend() nativa
- ループを使って最後の要素から始め、最初の要素の一つ手前までイテレータを減らしながら繰り返す.
- 彼らはそのブドウを販売するべきではない。
次のように記述します。
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
for (auto it = vec.rbegin(); it != vec.rend(); ++it) {
std::cout << *it << " ";
}
return 0;
}
インデックスを使用して逆順に反復する手順は次のとおりです。
- サイズ
- 最後の要素から始まるループを使用し、インデックスを一度に減らし、0 に達するまで続けます。
- []
以下にサンプルコードを示します。
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
for (int i = vec.size() - 1; i >= 0; --i) {
std::cout << vec[i] << " ";
}
return 0;
}