C ++、Python、JavaScriptで配列を逆にする方法

C ++、Python、JavaScriptで配列を逆にする方法

配列は、連続するメモリ位置に格納されているアイテムのコレクションです。アレイの反転は、アレイで実行される最も一般的な操作の1つです。この記事では、反復的かつ再帰的なアプローチを使用して、配列の反転の独自の実装を作成する方法を学習します。





配列を反転するための反復アプローチ

問題文

配列が与えられます arr 。配列の要素を逆にしてから、逆にした配列を出力する必要があります。ループを使用してこのソリューションを実装する必要があります。





例1 :arr = [45、12、67、63、9、23、74]とします。





逆到着= [74、23、9、63、67、12、45]

カーソル付き東芝ノートパソコンの黒い画面

したがって、出力は次のようになります。7423 9 63 67 1245。



例2 :arr = [1、2、3、4、5、6、7、8]とします。

逆arr = [8、7、6、5、4、3、2、1]





したがって、出力は次のようになります。87 6 5 4 3 21。

ループを使用して配列を反転するアプローチ

以下のアプローチに従うことにより、ループを使用して配列の要素を逆にすることができます。





  1. 配列の最初(0)と最後(sizeOfArray-1)のインデックスをそれぞれ指すように、インデックス変数 'i'と 'j'を初期化します。
  2. ループ内で、インデックスiの要素をインデックスjの要素と交換します。
  3. iの値を1インクリメントし、jの値を1デクリメントします。
  4. 私がするまでループを実行します

ループを使用して配列を反転するC ++プログラム

以下は、ループを使用して配列を反転するC ++プログラムです。

// C++ program to reverse the elements of an array using loops
#include
using namespace std;

void reverseArr(int arr[], int size)
{
for(int i=0, j=size-1; i {
swap(arr[i], arr[j]);
}
}
void printArrayElements(int arr[], int size)
{
for(int i=0; i {
cout << arr[i] << ' ';
}
cout << endl;
}
// Driver Code
int main()
{
int arr[] = {45, 12, 67, 63, 9, 23, 74};
int size = sizeof(arr)/sizeof(arr[0]);
// Printing the original array
cout << 'Original Array: ' << endl;
printArrayElements(arr, size);
// Reversing the array
reverseArr(arr, size);
// Printing the reversed array
cout << 'Reversed array: ' << endl;
printArrayElements(arr, size);
return 0;
}

出力:

Original Array:
45 12 67 63 9 23 74
Reversed array:
74 23 9 63 67 12 45

関連している: C ++、Python、JavaScriptで文字列を逆にする方法

ループを使用して配列を反転するPythonプログラム

以下は、ループを使用して配列を反転するPythonプログラムです。

# Python program to reverse the elements of a list using loops
def reverseList(arr, size):
i = 0
j = size-1
while i arr[i], arr[j] = arr[j], arr[i]
i = i + 1
j = j - 1
def printListElements(arr, size):
for i in range(size):
print(arr[i], end=' ')
print()
# Driver Code
arr = [45, 12, 67, 63, 9, 23, 74]
size = len(arr)
# Printing the original array
print('Original Array:')
printListElements(arr, size)
# Reversing the array
reverseList(arr, size)
# Printing the reversed array
print('Reversed Array:')
printListElements(arr, size)

出力:

Original Array:
45 12 67 63 9 23 74
Reversed array:
74 23 9 63 67 12 45

ループを使用して配列を反転するJavaScriptプログラム

以下は、ループを使用して配列を反転するJavaScriptプログラムです。

関連している: マージソートアルゴリズムの概要

// JavaScript program to reverse the elements of an array using loops
function reverseArr(arr, size) {
for(let i=0, j=size-1; i<(size)/2; i++, j--) {
[arr[i], arr[j]] = [arr[j], arr[i]];
}
}
function printArrayElements(arr, size) {
for(let i=0; i document.write(arr[i] + ' ');
}
document.write('
');
}
// Driver Code
var arr = [45, 12, 67, 63, 9, 23, 74];
var size = arr.length;
// Printing the original array
document.write('Original Array: ' + '
');
printArrayElements(arr, size);
// Reversing the array
reverseArr(arr, size);
// Printing the reversed array
document.write('Reversed Array: ' + '
');
printArrayElements(arr, size);

出力:

Original Array:
45 12 67 63 9 23 74
Reversed array:
74 23 9 63 67 12 45

配列を逆にする再帰的アプローチ

問題文

配列が与えられます arr 。配列の要素を逆にしてから、逆にした配列を出力する必要があります。再帰を使用してこのソリューションを実装する必要があります。

例1 :arr = [45、12、67、63、9、23、74]とします。

逆到着= [74、23、9、63、67、12、45]

したがって、出力は74 23 9 63 67 1245です。

例2 :arr = [1、2、3、4、5、6、7、8]とします。

逆arr = [8、7、6、5、4、3、2、1]

したがって、出力は8 7 6 5 4 3 21です。

再帰を使用して配列を逆にするアプローチ

以下のアプローチに従うことにより、再帰を使用して配列の要素を逆にすることができます。

  1. インデックス変数を初期化します 始める終わり 配列の最初(0)と最後(sizeOfArray-1)のインデックスをそれぞれ指すように。
  2. インデックスで要素を交換します 始める インデックスの要素で 終わり
  3. 逆関数を再帰的に呼び出します。逆関数のパラメーターで、の値をインクリメントします。 始める 1ずつ減らし、の値をデクリメントします。 終わり 1で。
  4. の値が 始める 変数がの値以上 終わり 変数。

再帰を使用して配列を反転するC ++プログラム

以下は、再帰を使用して配列を反転するC ++プログラムです。

// C++ program to reverse an array using recursion
#include
using namespace std;
void reverseArr(int arr[], int start, int end)
{
if (start >= end)
{
return;
}
swap(arr[start], arr[end]);
reverseArr(arr, start+1, end-1);
}
void printArrayElements(int arr[], int size)
{
for(int i=0; i {
cout << arr[i] << ' ';
}
cout << endl;
}
// Driver Code
int main()
{
int arr[] = {45, 12, 67, 63, 9, 23, 74};
int size = sizeof(arr)/sizeof(arr[0]);
// Printing the original array
cout << 'Original Array: ' << endl;
printArrayElements(arr, size);
// Reversing the array
reverseArr(arr, 0, size-1);
// Printing the reversed array
cout << 'Reversed array: ' << endl;
printArrayElements(arr, size);
return 0;
}

出力:

Original Array:
45 12 67 63 9 23 74
Reversed array:
74 23 9 63 67 12 45

再帰を使用して配列を逆にするPythonプログラム

以下は、再帰を使用して配列を逆にするPythonプログラムです。

Wordでスペースを2倍にする方法

関連:動的計画法:例、一般的な問題、および解決策

# Python program to reverse an array using recursion
def reverseList(arr, start, end):
if start >= end:
return
arr[start], arr[end] = arr[end], arr[start]
reverseList(arr, start+1, end-1)
def printListElements(arr, size):
for i in range(size):
print(arr[i], end=' ')
print()
# Driver Code
arr = [45, 12, 67, 63, 9, 23, 74]
size = len(arr)
# Printing the original array
print('Original Array:')
printListElements(arr, size)
# Reversing the array
reverseList(arr, 0, size-1)
# Printing the reversed array
print('Reversed Array:')
printListElements(arr, size)

出力:

Original Array:
45 12 67 63 9 23 74
Reversed array:
74 23 9 63 67 12 45

再帰を使用して配列を反転するJavaScriptプログラム

以下は、再帰を使用して配列を逆にするJavaScriptプログラムです。

関連:再帰を使用して自然数の合計を見つける方法

// JavaScript program to reverse an array using recursion
function reverseArr(arr, start, end)
{
if (start >= end)
{
return;
}
[arr[start], arr[end]] = [arr[end], arr[start]];
reverseArr(arr, start+1, end-1);
}
function printArrayElements(arr, size)
{
for(let i=0; i {
document.write(arr[i] + ' ');
}
document.write('
');
}
// Driver Code
var arr = [45, 12, 67, 63, 9, 23, 74];
let size = arr.length;
// Printing the original array
document.write('Original Array: ' + '
');
printArrayElements(arr, size);
// Reversing the array
reverseArr(arr, 0, size-1);
// Printing the reversed array
document.write('Reversed Array: ' + '
');
printArrayElements(arr, size);

出力:

Original Array:
45 12 67 63 9 23 74
Reversed array:
74 23 9 63 67 12 45

再帰を使用して問題を解決する

再帰関数は、それ自体を呼び出す関数です。再帰では、問題をより小さく、より単純なバージョンに分解することで問題を解決します。

再帰には多くの利点があります。再帰コードは反復コードよりも短く、自然に再帰的な問題を解決するために使用でき、中置、接頭辞、後置の評価に使用できます。再帰は書き込みに必要な時間を短縮し、デバッグコードなど。

再帰は、技術面接における面接官のお気に入りのトピックです。再帰と、コードを記述しながら再帰を使用して、最も効率的なプログラマーになる方法について知っておく必要があります。

共有 共有 つぶやき Eメール 再帰とは何ですか?どのように使用しますか?

再帰の基本を学びましょう。これは、プログラマーにとって不可欠ですが、少し気が遠くなるようなツールです。

次を読む
関連トピック
  • プログラミング
  • JavaScript
  • Python
  • コーディングチュートリアル
著者について ユブラジチャンドラ(60件の記事が公開されました)

Yuvrajは、インドのデリー大学のコンピュータサイエンス学部生です。彼はフルスタックWeb開発に情熱を注いでいます。執筆していないときは、さまざまなテクノロジーの深さを探っています。

YuvrajChandraのその他の作品

ニュースレターを購読する

ニュースレターに参加して、技術的なヒント、レビュー、無料の電子書籍、限定セールを入手してください。

購読するにはここをクリックしてください