Slik reverserer du en matrise i C ++, Python og JavaScript

Slik reverserer du en matrise i C ++, Python og JavaScript

En matrise er en samling av elementer som er lagret på sammenhengende minnesteder. Tilbakeføring av en matrise er en av de vanligste operasjonene som skal utføres på en matrise. I denne artikkelen lærer du hvordan du skriver din egen implementering av reversering av en matrise ved hjelp av iterative og rekursive tilnærminger.





Iterativ tilnærming til å reversere en matrise

Problemstilling

Du får en rekke arr . Du må reversere elementene i matrisen og deretter skrive ut den omvendte matrisen. Du må implementere denne løsningen ved hjelp av løkker.





Eksempel 1 : La arr = [45, 12, 67, 63, 9, 23, 74]





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

hvordan feste et innlegg på facebook

Dermed er utgangen: 74 23 9 63 67 12 45.



Eksempel 2 : La arr = [1, 2, 3, 4, 5, 6, 7, 8]

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





Dermed er utgangen: 8 7 6 5 4 3 2 1.

Tilnærming til å reversere en matrise ved hjelp av sløyfer

Du kan reversere elementene i en matrise ved hjelp av løkker ved å følge tilnærmingen nedenfor:





  1. Initialiser indeksvariablene 'i' og 'j' slik at de peker på henholdsvis den første (0) og den siste (sizeOfArray - 1) indeksen i matrisen.
  2. I en sløyfe bytter du elementet ved indeks i med elementet ved indeks j.
  3. Øk verdien av i med 1 og reduser verdien av j med 1.
  4. Kjør løkken til jeg

C ++ - program for å reversere en matrise ved hjelp av looper

Nedenfor er C ++ - programmet for å reversere en matrise ved hjelp av sløyfer:

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

Produksjon:

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

I slekt: Slik reverserer du en streng i C ++, Python og JavaScript

Python -program for å reversere et array ved hjelp av loops

Nedenfor er Python -programmet for å reversere en matrise ved hjelp av løkker:

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

Produksjon:

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

JavaScript -program for å reversere en matrise ved hjelp av sløyfer

Nedenfor er JavaScript -programmet for å reversere en matrise ved hjelp av sløyfer:

I slekt: En introduksjon til algoritmen for sammenslåingssortering

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

Produksjon:

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

Rekursiv tilnærming til å reversere en matrise

Problemstilling

Du får en rekke arr . Du må reversere elementene i matrisen og deretter skrive ut den omvendte matrisen. Du må implementere denne løsningen ved hjelp av rekursjon.

Eksempel 1 : La arr = [45, 12, 67, 63, 9, 23, 74]

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

Dermed er utgangen 74 23 9 63 67 12 45.

Eksempel 2 : La arr = [1, 2, 3, 4, 5, 6, 7, 8]

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

Dermed er utgangen 8 7 6 5 4 3 2 1.

Tilnærming til å reversere en matrise ved å bruke rekursjon

Du kan reversere elementene i en matrise ved å bruke rekursjon ved å følge tilnærmingen nedenfor:

  1. Initialiser indeksvariabler start og slutt slik at de peker på henholdsvis den første (0) og den siste (sizeOfArray - 1) indeksen i matrisen.
  2. Bytt element på indeksen start med elementet på indeksen slutt .
  3. Kall rekursivt reversfunksjonen. I parametere for omvendt funksjon, øk verdien av start med 1 og redusere verdien av slutt med 1.
  4. Stopp rekursjonen når verdien av start variabelen er større enn eller lik verdien av slutt variabel.

C ++ - program for å reversere en matrise ved hjelp av rekursjon

Nedenfor er C ++ - programmet for å reversere en matrise ved å bruke rekursjon:

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

Produksjon:

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

Python -program for å reversere en matrise ved hjelp av rekursjon

Nedenfor er Python -programmet for å reversere en matrise ved å bruke rekursjon:

hvordan koble bluetooth -hodetelefoner til xbox one trådløs kontroller

Relatert: Dynamisk programmering: eksempler, vanlige problemer og løsninger

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

Produksjon:

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

JavaScript -program for å reversere en matrise ved hjelp av rekursjon

Nedenfor er JavaScript -programmet for å reversere en matrise ved å bruke rekursjon:

Relatert: Hvordan finne summen av naturlige tall ved hjelp av rekursjon

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

Produksjon:

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

Bruk rekursjon for å løse problemer

En rekursiv funksjon er en funksjon som kaller seg selv. I rekursjon løses et problem ved å dele problemene opp i mindre, enklere versjoner av seg selv.

Det er mange fordeler med rekursjon: Den rekursive koden er kortere enn en iterativ kode, den kan brukes til å løse problemene som er naturlig rekursive, den kan brukes i infiks, prefiks, postfix -evalueringer, rekursjon reduserer tiden det tar å skrive og feilsøkingskode, etc.

Rekursjon er et yndet tema for intervjuer i tekniske intervjuer. Du må vite om rekursjon og hvordan du bruker den mens du skriver kode for å være den mest effektive programmereren du kan være.

Dele Dele kvitring E -post Hva er rekursjon og hvordan bruker du det?

Lær det grunnleggende om rekursjon, det viktige, men litt sinnbøyende verktøyet for programmerere.

Les neste
Relaterte temaer
  • Programmering
  • JavaScript
  • Python
  • Opplæringsprogrammer for koding
Om forfatteren Yuvraj Chandra(60 artikler publisert)

Yuvraj er en informatikkstudent ved University of Delhi, India. Han brenner for Full Stack webutvikling. Når han ikke skriver, utforsker han dybden i forskjellige teknologier.

Mer fra Yuvraj Chandra

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere