Kako obrniti niz v C ++, Python in JavaScript

Kako obrniti niz v C ++, Python in JavaScript

Niz je zbirka predmetov, shranjenih na sosednjih pomnilniških mestih. Obrat matrike je ena najpogostejših operacij, ki se izvajajo na matriki. V tem članku se boste naučili, kako napisati lastno izvedbo razveljavitve matrike z uporabo iterativnih in rekurzivnih pristopov.





Iteracijski pristop za obračanje matrike

Izjava o težavi

Dobili ste niz pribl . Morate obrniti elemente matrike in nato natisniti obrnjeno matriko. To rešitev morate uporabiti z zankami.





Primer 1 : Naj bo arr = [45, 12, 67, 63, 9, 23, 74]





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

kako povezati brezžični krmilnik xbox one

Tako je izhod: 74 23 9 63 67 12 45.



Primer 2 : Naj bo arr = [1, 2, 3, 4, 5, 6, 7, 8]

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





Tako je izhod: 8 7 6 5 4 3 2 1.

Pristop k obrnitvi matrike z uporabo zank

Elemente matrike lahko obrnete s pomočjo zank, tako da sledite spodnjemu pristopu:





  1. Inicializirajte spremenljivki indeksa 'i' in 'j' tako, da kažeta na prvi (0) oziroma zadnji (sizeOfArray - 1) indeks matrike.
  2. V zanki zamenjajte element pri indeksu i z elementom pri indeksu j.
  3. Povečajte vrednost i za 1 in zmanjšajte vrednost j za 1.
  4. Zaženi zanko do i

Program C ++ za obračanje matrike z uporabo zank

Spodaj je program C ++ za obrnitev matrike z zankami:

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

Izhod:

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

Povezano: Kako obrniti niz v C ++, Python in JavaScript

Program Python za obračanje matrike z uporabo zank

Spodaj je program Python za obrnitev matrike z zankami:

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

Izhod:

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

Program JavaScript za obračanje matrike z uporabo zank

Spodaj je program JavaScript za obrnitev matrike z zankami:

Povezano: Uvod v algoritem razvrščanja za združevanje

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

Izhod:

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

Rekurzivni pristop za obračanje matrike

Izjava o težavi

Dobili ste niz pribl . Morate obrniti elemente matrike in nato natisniti obrnjeno matriko. To rešitev morate uporabiti z rekurzijo.

Primer 1 : Naj bo arr = [45, 12, 67, 63, 9, 23, 74]

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

Tako je izhod 74 23 9 63 67 12 45.

Primer 2 : Naj bo arr = [1, 2, 3, 4, 5, 6, 7, 8]

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

Tako je izhod 8 7 6 5 4 3 2 1.

Pristop k obrnitvi matrike z uporabo rekurzije

Elemente matrike lahko z rekurzijo obrnete tako, da sledite spodnjemu pristopu:

  1. Inicializirajte spremenljivke indeksa začetek in konec tako, da kažejo na prvi (0) in zadnji (sizeOfArray - 1) indeks matrike.
  2. Zamenjajte element v indeksu začetek z elementom na indeksu konec .
  3. Rekurzivno pokličite obratno funkcijo. V parametrih povratne funkcije povečajte vrednost začetek za 1 in zmanjša vrednost konec za 1.
  4. Rekurzijo ustavite, ko je vrednost začetek spremenljivka je večja ali enaka vrednosti konec spremenljivka.

Program C ++ za obračanje matrike z uporabo rekurzije

Spodaj je program C ++ za obrnitev matrike z uporabo rekurzije:

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

Izhod:

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

Program Python za obrnitev matrike z uporabo rekurzije

Spodaj je program Python za obrnitev matrike z uporabo rekurzije:

pozabil sem geslo za telefon Android

Sorodno: Dinamično programiranje: primeri, pogoste težave in rešitve

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

Izhod:

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

JavaScript program za obrnitev matrike z uporabo rekurzije

Spodaj je program JavaScript za obrnitev matrike z uporabo rekurzije:

Povezano: Kako z rekurzijo najti vsoto naravnih števil

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

Izhod:

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

Za reševanje težav uporabite rekurzijo

Rekurzivna funkcija je funkcija, ki se sama pokliče. Pri rekurziji se problem reši tako, da se težave razdelijo na manjše, enostavnejše različice samih.

Rekurzivne kode imajo številne prednosti: rekurzivna koda je krajša od ponavljajoče se kode, z njo se lahko rešujejo težave, ki so naravno rekurzivne, lahko se uporablja pri vrednotenjih infiksa, predpone, postfiksa, rekurzija skrajša čas, potreben za pisanje in koda za odpravljanje napak itd.

Rekurzija je priljubljena tema anketarjev v tehničnih intervjujih. Morate vedeti o rekurziji in kako jo uporabljati pri pisanju kode, da boste lahko najučinkovitejši programer.

Deliti Deliti Cvrkutati E-naslov Kaj je rekurzija in kako jo uporabljate?

Naučite se osnov rekurzije, bistvenega, a rahlo premišljenega orodja za programerje.

Preberite Naprej
Sorodne teme
  • Programiranje
  • JavaScript
  • Python
  • Kodiranje vadnic
O avtorju Yuvraj Chandra(Objavljenih 60 člankov)

Yuvraj je dodiplomski študent računalništva na Univerzi v Delhiju v Indiji. Navdušen je nad spletnim razvojem Full Stack. Ko ne piše, raziskuje globino različnih tehnologij.

Več od Yuvraja Chandre

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite