Comment inverser un tableau en C++, Python et JavaScript

Comment inverser un tableau en C++, Python et JavaScript

Un tableau est une collection d'éléments stockés dans des emplacements de mémoire contigus. L'inversion d'un tableau est l'une des opérations les plus courantes à effectuer sur un tableau. Dans cet article, vous apprendrez à écrire votre propre implémentation d'inversion d'un tableau en utilisant des approches itératives et récursives.





Approche itérative pour inverser un tableau

Énoncé du problème

On vous donne un tableau arr . Vous devez inverser les éléments du tableau, puis imprimer le tableau inversé. Vous devez implémenter cette solution à l'aide de boucles.





Exemple 1 : Soit arr = [45, 12, 67, 63, 9, 23, 74]





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

meilleure application pour apprendre la guitare pour les débutants

Ainsi la sortie est : 74 23 9 63 67 12 45.



Exemple 2 : Soit arr = [1, 2, 3, 4, 5, 6, 7, 8]

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





Ainsi la sortie est : 8 7 6 5 4 3 2 1.

Approche pour inverser un tableau à l'aide de boucles

Vous pouvez inverser les éléments d'un tableau à l'aide de boucles en suivant l'approche ci-dessous :





  1. Initialisez les variables d'index 'i' et 'j' de sorte qu'elles pointent respectivement sur le premier (0) et le dernier (sizeOfArray - 1) index du tableau.
  2. Dans une boucle, échangez l'élément à l'index i avec l'élément à l'index j.
  3. Incrémentez la valeur de i de 1 et décrémentez la valeur de j de 1.
  4. Exécutez la boucle jusqu'à ce que je

Programme C++ pour inverser un tableau à l'aide de boucles

Vous trouverez ci-dessous le programme C++ pour inverser un tableau à l'aide de boucles :

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

Sortir:

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

En rapport: Comment inverser une chaîne en C++, Python et JavaScript

Programme Python pour inverser un tableau à l'aide de boucles

Vous trouverez ci-dessous le programme Python pour inverser un tableau à l'aide de boucles :

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

Sortir:

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

Programme JavaScript pour inverser un tableau à l'aide de boucles

Vous trouverez ci-dessous le programme JavaScript pour inverser un tableau à l'aide de boucles :

En rapport: Une introduction à l'algorithme de tri par fusion

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

Sortir:

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

Approche récursive pour inverser un tableau

Énoncé du problème

On vous donne un tableau arr . Vous devez inverser les éléments du tableau, puis imprimer le tableau inversé. Vous devez implémenter cette solution en utilisant la récursivité.

Exemple 1 : Soit arr = [45, 12, 67, 63, 9, 23, 74]

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

Ainsi la sortie est de 74 23 9 63 67 12 45.

Exemple 2 : Soit arr = [1, 2, 3, 4, 5, 6, 7, 8]

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

Ainsi la sortie est 8 7 6 5 4 3 2 1.

Approche pour inverser un tableau à l'aide de la récursivité

Vous pouvez inverser les éléments d'un tableau à l'aide de la récursivité en suivant l'approche ci-dessous :

  1. Initialiser les variables d'index début et finir de telle sorte qu'ils pointent respectivement sur le premier (0) et le dernier (sizeOfArray - 1) index du tableau.
  2. Échanger l'élément à l'index début avec l'élément à l'index finir .
  3. Appelez récursivement la fonction reverse. Dans les paramètres de la fonction reverse, incrémenter la valeur de début de 1 et décrémenter la valeur de finir par 1.
  4. Arrêtez la récursivité lorsque la valeur du début variable est supérieure ou égale à la valeur de la finir variable.

Programme C++ pour inverser un tableau à l'aide de la récursivité

Vous trouverez ci-dessous le programme C++ pour inverser un tableau à l'aide de la récursivité :

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

Sortir:

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

Programme Python pour inverser un tableau à l'aide de la récursivité

Vous trouverez ci-dessous le programme Python permettant d'inverser un tableau à l'aide de la récursivité :

message ouvert depuis un compte facebook piraté

Connexe : Programmation dynamique : exemples, problèmes courants et solutions

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

Sortir:

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

Programme JavaScript pour inverser un tableau à l'aide de la récursivité

Vous trouverez ci-dessous le programme JavaScript pour inverser un tableau à l'aide de la récursivité :

Connexes : Comment trouver la somme des nombres naturels à l'aide de la récursivité

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

Sortir:

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

Utiliser la récursivité pour résoudre les problèmes

Une fonction récursive est une fonction qui s'appelle elle-même. En récursivité, un problème est résolu en décomposant les problèmes en versions plus petites et plus simples d'eux-mêmes.

Les avantages de la récursivité sont nombreux : le code récursif est plus court qu'un code itératif, il peut être utilisé pour résoudre les problèmes qui sont naturellement récursifs, il peut être utilisé dans les évaluations infixe, préfixe, postfixe, la récursivité réduit le temps nécessaire à l'écriture et code de débogage, etc.

La récursivité est un sujet de prédilection des intervieweurs dans les entretiens techniques. Vous devez connaître la récursivité et savoir comment l'utiliser lors de l'écriture de code pour être le programmeur le plus efficace possible.

Partager Partager Tweeter E-mail Qu'est-ce que la récursivité et comment l'utilisez-vous ?

Apprenez les bases de la récursivité, l'outil essentiel mais un peu hallucinant pour les programmeurs.

Lire la suite
Rubriques connexes
  • La programmation
  • JavaScript
  • Python
  • Tutoriels de codage
A propos de l'auteur Yuvraj Chandra(60 articles publiés)

Yuvraj est un étudiant de premier cycle en informatique à l'Université de Delhi, en Inde. Il est passionné par le développement Web Full Stack. Quand il n'écrit pas, il explore la profondeur de différentes technologies.

Plus de Yuvraj Chandra

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner