C言語で配列を逆順に反転させるプログラムの書き方
配列とは、共通の名前のもとで管理される、関連性のあるデータ項目の集まりのことです。同じ型の複数の値を効率的に扱いたい場合に活用されます。
配列の宣言構文
C言語で配列を宣言する際の基本的な構文は以下のとおりです。
データ型 配列名 [サイズ];
配列の初期化
配列は、宣言と同時に初期化することもできます。
int a[5] = { 10,20,30,40,50};この例では、整数型の配列 a の5つの要素に、それぞれ10から50までの値が順番に格納されています。
C言語で配列を逆順にする方法
配列の要素を逆順に並べ替えるには、要素の入れ替え(スワップ)やコピーのテクニックを利用します。
たとえば、4つの要素を持つ整数型配列 P があるとしましょう。
P[0] = 1, P[1] = 2, P[2] = 3, P[3] = 4
この配列を反転させると、次のようになります。
P[0] = 4, P[1] = 3, P[2] = 2, P[3] = 1
サンプルプログラム
以下は、入力された配列を逆順に出力するCプログラムの例です。まずユーザーから要素数と各要素の値を受け取り、別の配列へ後ろから順にコピーすることで反転を実現しています。
#include <stdio.h>
int main(){
int num, i, j, array1[50], array2[50];
printf("Enter no of elements in array\n");
scanf("%d", &num);
printf("Enter array elements\n");
for (i = 0; i < num ; i++)
scanf("%d", &array1[i]);
// 要素を後ろから順にコピーして反転
for (i = num - 1, j = 0; i >= 0; i--,j++)
array2[j] = array1[i];
// 反転した配列を元の配列に戻す
for (i = 0; i < num; i++)
array1[i] = array2[i];
printf("The reversed array:\n");
for (i = 0; i< num; i++)
printf("%d\n", array1[i]);
return 0;
}実行結果
このプログラムをコンパイルして実行すると、次のような出力が得られます。
Enter no of elements in array 4 Enter array elements 20 50 60 70 The reversed array: 70 60 50 20
このように、元の配列「20, 50, 60, 70」が逆順の「70, 60, 50, 20」として正しく出力されていることが確認できます。
-
JavaScriptの配列reverse()メソッドとは?使い方とサンプルコードを解説
JavaScriptのreverse()メソッドは、配列の要素を逆順に並べ替えるために使用されるメソッドです。呼び出すと元の配列そのものが反転され、その結果の配列が戻り値として返されます。構文array.reverse()reverse()メソッドのポイント引数は不要で、呼び出した配列自体を直接書き換えます(破壊的なメソッド)。戻り値は、要素が反転された配列への参照です。元の配列を変更せずに反転したい場合は、ES2023で追加されたtoReversed()メソッドを使うと便利です。それでは、実際にJavaScriptでreverse()メソッドを実装してみましょう。例1:基本的な使い方<
-
【初心者向け】JavaScriptのreverse()メソッドで配列を逆順にする方法
JavaScriptのreverse()メソッドは、配列の要素を元の順序と逆順に入れ替えるための便利な関数です。このメソッドを呼び出すと、配列の最初の要素が最後に、最後の要素が最初に移動し、配列全体が反転されます。reverse()メソッドの基本reverse()は配列そのものを変更する「破壊的メソッド」である点に注意してください。つまり、元の配列の順序が直接書き換えられます。元の配列を保持したい場合は、あらかじめslice()やスプレッド構文([...arr])などでコピーを作成してからreverse()を使用するのがおすすめです。サンプルコード以下は、ボタンをクリックすると配列の要素が逆順