Hur man vänder en matris i C ++, Python och JavaScript

Hur man vänder en matris i C ++, Python och JavaScript

En array är en samling objekt lagrade på sammanhängande minnesplatser. Återföring av en array är en av de vanligaste operationerna som ska utföras på en array. I den här artikeln lär du dig hur du skriver din egen implementering av reversering av en array med iterativa och rekursiva metoder.





Iterativ metod för att vända en matris

Problemmeddelande

Du får en uppsättning arr . Du måste vända elementen i matrisen och sedan skriva ut den omvända matrisen. Du måste implementera denna lösning med hjälp av loopar.





Exempel 1 : Låt arr = [45, 12, 67, 63, 9, 23, 74]





Omvänd arr = [74, 23, 9, 63, 67, 12, 45]

Skype -meddelanden visas i fel ordning

Således är utgången: 74 23 9 63 67 12 45.



Exempel 2 : Låt arr = [1, 2, 3, 4, 5, 6, 7, 8]

Omvänd arr = [8, 7, 6, 5, 4, 3, 2, 1]





Således är utsignalen: 8 7 6 5 4 3 2 1.

Tillvägagångssätt för att vända en matris med hjälp av slingor

Du kan vända elementen i en array med hjälp av loopar genom att följa tillvägagångssättet nedan:





  1. Initiera indexvariablerna 'i' och 'j' så att de pekar på det första (0) respektive det sista (sizeOfArray - 1) indexet i arrayen.
  2. I en loop, byt elementet vid index i med elementet vid index j.
  3. Öka värdet på i med 1 och minska värdet på j med 1.
  4. Kör slingan tills i

C ++ - program för att vända en matris med hjälp av loopar

Nedan visas C ++ - programmet för att vända en array med hjälp av loopar:

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

Produktion:

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

Relaterad: Hur man vänder en sträng i C ++, Python och JavaScript

Python -program för att vända en matris med hjälp av loopar

Nedan visas Python -programmet för att vända en array med hjälp av loopar:

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

Produktion:

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

JavaScript -program för att vända en matris med hjälp av loopar

Nedan finns JavaScript -programmet för att vända en array med hjälp av loopar:

Relaterad: En introduktion till algoritmen för sammanslagningssortering

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

Produktion:

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

Rekursiv metod för att vända en matris

Problemmeddelande

Du får en uppsättning arr . Du måste vända elementen i matrisen och sedan skriva ut den omvända matrisen. Du måste implementera denna lösning med rekursion.

Exempel 1 : Låt arr = [45, 12, 67, 63, 9, 23, 74]

Omvänd arr = [74, 23, 9, 63, 67, 12, 45]

Sålunda är utsignalen 74 23 9 63 67 12 45.

Exempel 2 : Låt arr = [1, 2, 3, 4, 5, 6, 7, 8]

Omvänd arr = [8, 7, 6, 5, 4, 3, 2, 1]

Sålunda är utsignalen 8 7 6 5 4 3 2 1.

Tillvägagångssätt för att vända en matris med hjälp av rekursion

Du kan vända elementen i en array med hjälp av rekursion genom att följa tillvägagångssättet nedan:

  1. Initiera indexvariabler Start och slutet så att de pekar på det första (0) respektive det sista (sizeOfArray - 1) indexet i arrayen.
  2. Byt elementet vid indexet Start med elementet vid indexet slutet .
  3. Rekursivt kalla omvänd funktion. I parametrar för omvänd funktion, öka värdet på Start med 1 och minska värdet på slutet med 1.
  4. Stoppa rekursionen när värdet på Start variabeln är större än eller lika med värdet på slutet variabel.

C ++ - program för att vända en matris med hjälp av rekursion

Nedan visas C ++ - programmet för att vända en array med rekursion:

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

Produktion:

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

Python -program för att vända en matris med hjälp av rekursion

Nedan finns Python -programmet för att vända en array med rekursion:

hur man visar .dat -filer

Relaterat: Dynamisk programmering: Exempel, vanliga problem och lösningar

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

Produktion:

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

JavaScript -program för att vända en matris med hjälp av rekursion

Nedan finns JavaScript -programmet för att vända en array med rekursion:

Relaterat: Hur man hittar summan av naturliga nummer med rekursion

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

Produktion:

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

Använd rekursion för att lösa problem

En rekursiv funktion är en funktion som kallar sig själv. Vid rekursion löses ett problem genom att dela upp problemen i mindre, enklare versioner av sig själva.

Det finns många fördelar med rekursion: rekursivkoden är kortare än en iterativ kod, den kan användas för att lösa de problem som är naturligt rekursiva, den kan användas i infix, prefix, postfix utvärderingar, rekursion minskar tiden som krävs för att skriva och felsökningskod, etc.

Rekursion är ett favoritämne för intervjuare i tekniska intervjuer. Du måste veta om rekursion och hur du använder den när du skriver kod för att vara den mest effektiva programmeraren du kan vara.

Dela med sig Dela med sig Tweet E-post Vad är rekursion och hur använder du det?

Lär dig grunderna i rekursion, det väsentliga men lite sinnesböjande verktyget för programmerare.

Läs Nästa
Relaterade ämnen
  • Programmering
  • JavaScript
  • Pytonorm
  • Handledning för kodning
Om författaren Yuvraj Chandra(60 artiklar publicerade)

Yuvraj är en datavetenskaplig grundstudent vid University of Delhi, Indien. Han brinner för Full Stack webbutveckling. När han inte skriver utforskar han djupet i olika tekniker.

Mer från Yuvraj Chandra

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera