[C++]Vectorのインデックスを逆順でループするには?

C++

どうも、ちょげ(@chogetarou)です。

Vectorのインデックスを逆順でループする方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

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 

コメント

タイトルとURLをコピーしました