Een array omkeren in C++, Python en JavaScript

Een array omkeren in C++, Python en JavaScript

Een array is een verzameling items die zijn opgeslagen op aangrenzende geheugenlocaties. Omkering van een array is een van de meest voorkomende bewerkingen die op een array moeten worden uitgevoerd. In dit artikel leert u hoe u uw eigen implementatie van omkering van een array kunt schrijven met behulp van iteratieve en recursieve benaderingen.





Iteratieve benadering om een ​​array om te keren

Probleemstelling

Je krijgt een array arr . U moet de elementen van de array omkeren en vervolgens de omgekeerde array afdrukken. U moet deze oplossing implementeren met behulp van lussen.





voorbeeld 1 : Laat arr = [45, 12, 67, 63, 9, 23, 74]





Omgekeerde arr = [74, 23, 9, 63, 67, 12, 45]

gratis ons telefoonnummer voor inkomende oproepen

De output is dus: 74 23 9 63 67 12 45.



Voorbeeld 2 : Laat arr = [1, 2, 3, 4, 5, 6, 7, 8]

Omgekeerde arr = [8, 7, 6, 5, 4, 3, 2, 1]





De output is dus: 8 7 6 5 4 3 2 1.

Aanpak om een ​​array om te keren met behulp van lussen

U kunt de elementen van een array omkeren met behulp van lussen door de onderstaande benadering te volgen:





  1. Initialiseer indexvariabelen 'i' en 'j' zodanig dat ze respectievelijk verwijzen naar de eerste (0) en de laatste (sizeOfArray - 1) index van de array.
  2. Verwissel in een lus het element op index i met het element op index j.
  3. Verhoog de waarde van i met 1 en verlaag de waarde van j met 1.
  4. Voer de lus uit totdat i

C++-programma om een ​​array om te keren met lussen

Hieronder staat het C++-programma om een ​​array om te keren met behulp van lussen:

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

Uitgang:

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

Verwant: Een string omkeren in C++, Python en JavaScript

Python-programma om een ​​array om te keren met lussen

Hieronder staat het Python-programma om een ​​array om te keren met behulp van lussen:

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

Uitgang:

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

JavaScript-programma om een ​​array om te keren met lussen

Hieronder staat het JavaScript-programma om een ​​array om te keren met behulp van loops:

Verwant: Een inleiding tot het samenvoegsorteeralgoritme

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

Uitgang:

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

Recursieve benadering om een ​​array om te keren

Probleemstelling

Je krijgt een array arr . U moet de elementen van de array omkeren en vervolgens de omgekeerde array afdrukken. U moet deze oplossing implementeren met behulp van recursie.

voorbeeld 1 : Laat arr = [45, 12, 67, 63, 9, 23, 74]

Omgekeerde arr = [74, 23, 9, 63, 67, 12, 45]

De output is dus 74 23 9 63 67 12 45.

Voorbeeld 2 : Laat arr = [1, 2, 3, 4, 5, 6, 7, 8]

Omgekeerde arr = [8, 7, 6, 5, 4, 3, 2, 1]

De output is dus 8 7 6 5 4 3 2 1.

Aanpak om een ​​array om te keren met behulp van recursie

U kunt de elementen van een array omkeren met behulp van recursie door de onderstaande benadering te volgen:

  1. Indexvariabelen initialiseren begin en einde zodanig dat ze respectievelijk verwijzen naar de eerste (0) en de laatste (sizeOfArray - 1) index van de array.
  2. Verwissel het element bij de index begin met het element in de index einde .
  3. Roep de omgekeerde functie recursief aan. Verhoog in parameters van de omgekeerde functie de waarde van begin met 1 en verlaag de waarde van einde door 1.
  4. Stop de recursie wanneer de waarde van de begin variabele is groter dan of gelijk aan de waarde van de einde variabel.

C++-programma om een ​​array om te keren met behulp van recursie

Hieronder staat het C++-programma om een ​​array om te keren met behulp van recursie:

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

Uitgang:

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

Python-programma om een ​​array om te keren met behulp van recursie

Hieronder staat het Python-programma om een ​​array om te keren met behulp van recursie:

"geen internet, beveiligd"

Gerelateerd: Dynamisch programmeren: voorbeelden, veelvoorkomende problemen en oplossingen

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

Uitgang:

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

JavaScript-programma om een ​​array om te keren met behulp van recursie

Hieronder staat het JavaScript-programma om een ​​array om te keren met behulp van recursie:

Verwant: Hoe de som van natuurlijke getallen te vinden met behulp van recursie

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

Uitgang:

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

Gebruik recursie om problemen op te lossen

Een recursieve functie is een functie die zichzelf aanroept. Bij recursie wordt een probleem opgelost door de problemen op te splitsen in kleinere, eenvoudigere versies van zichzelf.

Er zijn veel voordelen van recursie: de recursieve code is korter dan een iteratieve code, het kan worden gebruikt om de problemen op te lossen die van nature recursief zijn, het kan worden gebruikt in infix-, prefix-, postfix-evaluaties, recursie vermindert de tijd die nodig is om te schrijven en debugcode, enz.

Recursie is een favoriet onderwerp van interviewers in technische interviews. Je moet weten over recursie en hoe je het moet gebruiken tijdens het schrijven van code om de meest efficiënte programmeur te zijn die je kunt zijn.

Deel Deel Tweeten E-mail Wat is recursie en hoe gebruik je het?

Leer de basis van recursie, de essentiële maar enigszins verbijsterende tool voor programmeurs.

Lees volgende
Gerelateerde onderwerpen
  • Programmeren
  • JavaScript
  • Python
  • Codeerhandleidingen
Over de auteur Yuvraj Chandra(60 artikelen gepubliceerd)

Yuvraj is een student Computerwetenschappen aan de Universiteit van Delhi, India. Hij is gepassioneerd door Full Stack Web Development. Als hij niet aan het schrijven is, onderzoekt hij de diepte van verschillende technologieën.

Meer van Yuvraj Chandra

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren