Come invertire un array in C++, Python e JavaScript

Come invertire un array in C++, Python e JavaScript

Un array è una raccolta di elementi archiviati in locazioni di memoria contigue. L'inversione di un array è una delle operazioni più comuni da eseguire su un array. In questo articolo imparerai come scrivere la tua implementazione dell'inversione di un array utilizzando approcci iterativi e ricorsivi.





Approccio iterativo per invertire un array

Dichiarazione problema

Ti viene dato un array arr . È necessario invertire gli elementi dell'array, quindi stampare l'array invertito. È necessario implementare questa soluzione utilizzando i loop.





Esempio 1 : Sia arr = [45, 12, 67, 63, 9, 23, 74]





Arr invertito = [74, 23, 9, 63, 67, 12, 45]

come accedere al bios windows 10

Quindi l'output è: 74 23 9 63 67 12 45.



Esempio 2 : Sia arr = [1, 2, 3, 4, 5, 6, 7, 8]

Arr invertito = [8, 7, 6, 5, 4, 3, 2, 1]





Quindi l'output è: 8 7 6 5 4 3 2 1.

Approccio per invertire un array usando i loop

Puoi invertire gli elementi di un array usando i loop seguendo l'approccio seguente:





  1. Inizializzare le variabili di indice 'i' e 'j' in modo tale che puntino rispettivamente al primo (0) e all'ultimo (sizeOfArray - 1) indice dell'array.
  2. In un ciclo, scambia l'elemento all'indice i con l'elemento all'indice j.
  3. Incrementa il valore di i di 1 e decrementa il valore di j di 1.
  4. Esegui il ciclo fino a quando i

Programma C++ per invertire un array usando i loop

Di seguito è riportato il programma C++ per invertire un array utilizzando i loop:

// 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;
}

Produzione:

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

Imparentato: Come invertire una stringa in C++, Python e JavaScript

Programma Python per invertire un array usando i loop

Di seguito è riportato il programma Python per invertire un array utilizzando i loop:

# 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)

Produzione:

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

Programma JavaScript per invertire un array usando i loop

Di seguito è riportato il programma JavaScript per invertire un array utilizzando i loop:

Imparentato: Introduzione all'algoritmo Merge Sort

// 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);

Produzione:

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

Approccio ricorsivo per invertire un array

Dichiarazione problema

Ti viene dato un array arr . È necessario invertire gli elementi dell'array, quindi stampare l'array invertito. È necessario implementare questa soluzione utilizzando la ricorsione.

Esempio 1 : Sia arr = [45, 12, 67, 63, 9, 23, 74]

Arr invertito = [74, 23, 9, 63, 67, 12, 45]

Quindi l'uscita è 74 23 9 63 67 12 45.

Esempio 2 : Sia arr = [1, 2, 3, 4, 5, 6, 7, 8]

Arr invertito = [8, 7, 6, 5, 4, 3, 2, 1]

Quindi l'uscita è 8 7 6 5 4 3 2 1.

Approccio per invertire un array usando la ricorsione

Puoi invertire gli elementi di un array usando la ricorsione seguendo l'approccio seguente:

  1. Inizializza variabili indice cominciare e fine in modo tale che puntino rispettivamente al primo (0) e all'ultimo (sizeOfArray - 1) indice dell'array.
  2. Scambia l'elemento all'indice cominciare con l'elemento all'indice fine .
  3. Chiama ricorsivamente la funzione inversa. Nei parametri della funzione reverse, incrementare il valore di cominciare di 1 e decrementare il valore di fine da 1.
  4. Arresta la ricorsione quando il valore di cominciare variabile è maggiore o uguale al valore di fine variabile.

Programma C++ per invertire un array usando la ricorsione

Di seguito è riportato il programma C++ per invertire un array utilizzando la ricorsione:

// 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;
}

Produzione:

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

Programma Python per invertire un array usando la ricorsione

Di seguito è riportato il programma Python per invertire un array utilizzando la ricorsione:

come velocizzare google maps

Correlati: Programmazione dinamica: esempi, problemi comuni e soluzioni

# 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)

Produzione:

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

Programma JavaScript per invertire un array usando la ricorsione

Di seguito è riportato il programma JavaScript per invertire un array utilizzando la ricorsione:

Correlati: Come trovare la somma dei numeri naturali usando la ricorsione

// 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);

Produzione:

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

Usa la ricorsione per risolvere i problemi

Una funzione ricorsiva è una funzione che chiama se stessa. Nella ricorsione, un problema viene risolto scomponendo i problemi in versioni più piccole e più semplici di se stessi.

Ci sono molti vantaggi della ricorsione: il codice ricorsivo è più corto di un codice iterativo, può essere utilizzato per risolvere i problemi che sono naturalmente ricorsivi, può essere utilizzato in valutazioni infisse, prefisse, postfisse, la ricorsione riduce il tempo necessario per scrivere e codice di debug, ecc.

La ricorsione è un argomento preferito dagli intervistatori nelle interviste tecniche. Devi conoscere la ricorsione e come usarla mentre scrivi il codice per essere il programmatore più efficiente che puoi essere.

Condividere Condividere Tweet E-mail Che cos'è la ricorsione e come si usa?

Impara le basi della ricorsione, lo strumento essenziale ma un po' stravagante per i programmatori.

Leggi Avanti
Argomenti correlati
  • Programmazione
  • JavaScript
  • Pitone
  • Tutorial sulla programmazione
Circa l'autore Yuvraj Chandra(60 articoli pubblicati)

Yuvraj è uno studente universitario di Informatica presso l'Università di Delhi, in India. È appassionato di sviluppo Web Full Stack. Quando non scrive, esplora la profondità di diverse tecnologie.

Altro da Yuvraj Chandra

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti