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:
- Initialiser indeksvariablene 'i' og 'j' slik at de peker på henholdsvis den første (0) og den siste (sizeOfArray - 1) indeksen i matrisen.
- I en sløyfe bytter du elementet ved indeks i med elementet ved indeks j.
- Øk verdien av i med 1 og reduser verdien av j med 1.
- 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:
- Initialiser indeksvariabler start og slutt slik at de peker på henholdsvis den første (0) og den siste (sizeOfArray - 1) indeksen i matrisen.
- Bytt element på indeksen start med elementet på indeksen slutt .
- Kall rekursivt reversfunksjonen. I parametere for omvendt funksjon, øk verdien av start med 1 og redusere verdien av slutt med 1.
- 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
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 ChandraAbonner på vårt nyhetsbrev
Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!
Klikk her for å abonnere