[C++]forループで配列を反転して逆順にするには?

C++

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

forループを使って配列(array)を反転して逆順にする方法を紹介します。

スポンサーリンク

方法

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

forループを使って配列(array)を反転して逆順にするには、要素の入れ替えをします。

まず、配列を要素数の半分でループします。

そして、for文の処理で、「ループ変数のインデックスの要素」と「要素数を1とループ変数で引いた値のインデックスの要素」を入れ替えます。

//myArray = 対象の配列

int count = size(myArray); //配列の要素数を取得

for (int i = 0; i < count / 2; i++) { //配列の要素数の半分でループ
        //要素を入れ替える
        int temp = myArray[i];
        myArray[i] = myArray[count - i -1];
        myArray[count - i - 1] = temp;
}

上記のforループは、配列を反転して逆順にします。

使用例

#include <iostream>
using namespace std;
int main(void){
    int numbers[6] = {1, 2, 3, 4, 5, 6};
    
    int count = size(numbers);
    for (int i = 0; i < count / 2; i++) {
        int temp = numbers[i];
        numbers[i] = numbers[count - i -1];
        numbers[count - i - 1] = temp;
    }
    
    for (int i = 0; i < count; ++i) {
        cout << numbers[i] << " ";
    }
}
出力:
6 5 4 3 2 1 

コメント

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