Ako obrátiť pole v C ++, Python a JavaScript

Ako obrátiť pole v C ++, Python a JavaScript

Pole je zbierka položiek uložených v priľahlých pamäťových miestach. Obrátenie poľa je jednou z najbežnejších operácií, ktoré je potrebné vykonať na poli. V tomto článku sa naučíte, ako napísať vlastnú implementáciu obrátenia poľa pomocou iteratívnych a rekurzívnych prístupov.





Iteratívny prístup na zvrátenie poľa

Vyhlásenie o probléme

Dostanete pole arr . Musíte obrátiť prvky poľa a potom vytlačiť obrátené pole. Toto riešenie musíte implementovať pomocou slučiek.





Príklad 1 : Nechajte arr = [45, 12, 67, 63, 9, 23, 74]





Obrátené zatiahnutie = [74, 23, 9, 63, 67, 12, 45]

hrajte staré počítačové hry na Windows 10

Výstup je teda: 74 23 9 63 67 12 45.



Príklad 2 : Let arr = [1, 2, 3, 4, 5, 6, 7, 8]

Reverzný obrat = [8, 7, 6, 5, 4, 3, 2, 1]





Výstup je teda: 8 7 6 5 4 3 2 1.

Prístup na obrátenie poľa pomocou slučiek

Prvky poľa môžete obrátiť pomocou slučiek podľa nasledujúceho postupu:





  1. Inicializujte premenné indexu „i“ a „j“ tak, aby smerovali na prvý (0) a posledný (sizeOfArray - 1) index poľa.
  2. V slučke vymeňte prvok v indexe i za prvok v indexe j.
  3. Zvýšte hodnotu i o 1 a znížte hodnotu j o 1.
  4. Spustite slučku, kým i

Program C ++ na obrátenie poľa pomocou slučiek

Nasleduje program C ++ na zvrátenie poľa pomocou slučiek:

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

Výkon:

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

Súvisiace: Ako obrátiť reťazec v C ++, Python a JavaScript

Program Python na obrátenie poľa pomocou slučiek

Nasleduje program Python na reverziu poľa pomocou slučiek:

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

Výkon:

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

Program JavaScript na zvrátenie poľa pomocou slučiek

Nasleduje program JavaScript na reverziu poľa pomocou slučiek:

Súvisiace: Úvod do algoritmu zlúčenia

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

Výkon:

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

Rekurzívny prístup na zvrátenie poľa

Vyhlásenie o probléme

Dostanete pole arr . Musíte obrátiť prvky poľa a potom vytlačiť obrátené pole. Toto riešenie musíte implementovať pomocou rekurzie.

Príklad 1 : Nechajte arr = [45, 12, 67, 63, 9, 23, 74]

Obrátené zatiahnutie = [74, 23, 9, 63, 67, 12, 45]

Výstup je teda 74 23 9 63 67 12 45.

Príklad 2 : Let arr = [1, 2, 3, 4, 5, 6, 7, 8]

Reverzný obrat = [8, 7, 6, 5, 4, 3, 2, 1]

Výstup je teda 8 7 6 5 4 3 2 1.

Prístup na zvrátenie poľa pomocou rekurzie

Prvky poľa môžete zvrátiť pomocou rekurzie podľa nasledujúceho postupu:

  1. Inicializujte premenné indexu začať a koniec také, že ukazujú na prvý (0) a posledný (sizeOfArray - 1) index poľa.
  2. Vymeňte prvok v indexe začať s prvkom v indexe koniec .
  3. Rekurzívne zavolajte reverznú funkciu. V parametroch reverznej funkcie zvýšte hodnotu začať o 1 a znížte hodnotu koniec do 1.
  4. Zastavte rekurziu, keď hodnota začať premenná je väčšia alebo rovná hodnote koniec premenná.

Program C ++ na zvrátenie poľa pomocou rekurzie

Nasleduje program C ++ na reverziu poľa pomocou rekurzie:

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

Výkon:

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

Program Python na zvrátenie poľa pomocou rekurzie

Nasleduje program Python na reverziu poľa pomocou rekurzie:

ako nainštalovať mac os x na vmware

Súvisiace články: Dynamické programovanie: príklady, bežné problémy a riešenia

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

Výkon:

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

Program JavaScript na zvrátenie poľa pomocou rekurzie

Nasleduje program JavaScript na reverziu poľa pomocou rekurzie:

Súvisiace: Ako nájsť súčet prirodzených čísel pomocou rekurzie

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

Výkon:

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

Na riešenie problémov použite rekurziu

Rekurzívna funkcia je funkcia, ktorá sa sama volá. Pri rekurzii je problém vyriešený rozdelením problémov na menšie, jednoduchšie verzie.

Existuje mnoho výhod rekurzie: rekurzívny kód je kratší ako iteračný kód, môže byť použitý na riešenie problémov, ktoré sú prirodzene rekurzívne, môže byť použitý pri hodnotení infixu, prefixu, postfixu, rekurzia znižuje čas potrebný na zápis a ladiaci kód atď.

Rekurzia je obľúbenou témou anketárov pri technických rozhovoroch. Musíte vedieť o rekurzii a o tom, ako ju používať pri písaní kódu, aby ste boli čo najefektívnejším programátorom.

zdieľam zdieľam Tweet E -mail Čo je to rekurzia a ako ju používate?

Naučte sa základy rekurzie, základného, ​​ale mierne ohýbacieho nástroja pre programátorov.

Čítajte ďalej
Súvisiace témy
  • Programovanie
  • JavaScript
  • Python
  • Návody na kódovanie
O autorovi Yuvraj Chandra(60 publikovaných článkov)

Yuvraj je študentom informatiky na univerzite v Dillí v Indii. Je nadšený pre vývoj webových aplikácií Full Stack. Keď nepíše, skúma hĺbku rôznych technológií.

Viac od Yuvraja Chandru

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber