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:
- Inicializujte premenné indexu „i“ a „j“ tak, aby smerovali na prvý (0) a posledný (sizeOfArray - 1) index poľa.
- V slučke vymeňte prvok v indexe i za prvok v indexe j.
- Zvýšte hodnotu i o 1 a znížte hodnotu j o 1.
- 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:
- Inicializujte premenné indexu začať a koniec také, že ukazujú na prvý (0) a posledný (sizeOfArray - 1) index poľa.
- Vymeňte prvok v indexe začať s prvkom v indexe koniec .
- Rekurzívne zavolajte reverznú funkciu. V parametroch reverznej funkcie zvýšte hodnotu začať o 1 a znížte hodnotu koniec do 1.
- 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
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 Chandruprihlá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