どうも、ちょげ(@chogetarou)です。
Vectorのインデックスを逆順でループする方法を紹介します。
方法

Vectorのインデックスを逆順でループするには、要素数を使います。
まず、for文のループ変数をVectorの要素数を「-1」した値で初期化します。
for文の終了条件にループ変数が0以上を指定し、ループの最後に行う処理でループ変数を「-1」します。
そして、for文の{}内にループ処理を指定します。
//myVec = 対象のvector
for (int i = myVec.size() - 1; i >= 0; --i) {
//ループ処理
}
上記のfor文は、Vectorのインデックスを逆順でループします。
使用例
#include <iostream>
#include <vector>
using namespace std;
int main(void){
vector<int> nums = { 1, 2, 3, 4, 5, 6 };
for (int i = nums.size() - 1; i >= 0; --i) {
cout << nums[i] << " ";
}
return 0;
}
出力:
6 5 4 3 2 1
コメント