Jak obrátit pole v C ++, Pythonu a JavaScriptu

Jak obrátit pole v C ++, Pythonu a JavaScriptu

Pole je kolekce položek uložených v souvislých paměťových místech. Obrácení pole je jednou z nejběžnějších operací prováděných na poli. V tomto článku se naučíte, jak napsat vlastní implementaci obrácení pole pomocí iterativních a rekurzivních přístupů.





Iterativní přístup k obrácení pole

Problémové prohlášení

Dostali jste pole arr . Musíte obrátit prvky pole a poté vytisknout obrácené pole. Toto řešení musíte implementovat pomocí smyček.





Příklad 1 : Let arr = [45, 12, 67, 63, 9, 23, 74]





Reverzní aretace = [74, 23, 9, 63, 67, 12, 45]

jak najít něčí seznam amazonek

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



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

Obrácené aretace = [8, 7, 6, 5, 4, 3, 2, 1]





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

Přístup k obrácení pole pomocí smyček

Prvky pole můžete obrátit pomocí smyček následujícím způsobem:





  1. Inicializujte proměnné indexu „i“ a „j“ tak, aby směřovaly na první (0) a poslední (sizeOfArray - 1) index pole.
  2. Ve smyčce vyměňte prvek v indexu i s prvkem v indexu j.
  3. Zvyšte hodnotu i o 1 a snižte hodnotu j o 1.
  4. Spusťte smyčku, dokud i

Program C ++ pro obrácení pole pomocí smyček

Níže je uveden program C ++ pro obrácení pole pomocí smyček:

// 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ýstup:

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

Příbuzný: Jak obrátit řetězec v C ++, Pythonu a JavaScriptu

Program Python pro obrácení pole pomocí smyček

Níže je uveden program Python pro obrácení pole pomocí smyček:

# 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ýstup:

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

Program JavaScript pro obrácení pole pomocí smyček

Níže je uveden program JavaScript pro obrácení pole pomocí smyček:

Příbuzný: Úvod do spojovacího algoritmu řazení

// 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ýstup:

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

Rekurzivní přístup k obrácení pole

Problémové prohlášení

Dostali jste pole arr . Musíte obrátit prvky pole a poté vytisknout obrácené pole. Toto řešení musíte implementovat pomocí rekurze.

Příklad 1 : Let arr = [45, 12, 67, 63, 9, 23, 74]

Reverzní aretace = [74, 23, 9, 63, 67, 12, 45]

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

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

Obrácené aretace = [8, 7, 6, 5, 4, 3, 2, 1]

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

Přístup k obrácení pole pomocí rekurze

Prvky pole můžete obrátit pomocí rekurze podle následujícího postupu:

  1. Inicializujte proměnné indexu Start a konec tak, že ukazují na první (0) a poslední (sizeOfArray - 1) index pole.
  2. Vyměňte prvek v indexu Start s prvkem v indexu konec .
  3. Rekurzivně zavolejte reverzní funkci. V parametrech reverzní funkce zvyšte hodnotu Start o 1 a snižte hodnotu konec do 1.
  4. Zastavte rekurzi, když hodnota Start proměnná je větší nebo rovna hodnotě konec proměnná.

Program C ++ pro obrácení pole pomocí rekurze

Níže je uveden program C ++ pro obrácení pole pomocí rekurze:

// 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ýstup:

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

Program Python pro obrácení pole pomocí rekurze

Níže je uveden program Python pro obrácení pole pomocí rekurze:

jak používat diktování na mac

Související: Dynamické programování: Příklady, běžné problémy a řešení

# 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ýstup:

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

Program JavaScript pro obrácení pole pomocí rekurze

Níže je uveden program JavaScript pro obrácení pole pomocí rekurze:

Související: Jak najít součet přirozených čísel pomocí rekurze

// 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ýstup:

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

K řešení problémů použijte rekurzi

Rekurzivní funkce je funkce, která se sama volá. Při rekurzi je problém vyřešen rozdělením problémů na jejich menší, jednodušší verze.

Rekurze má mnoho výhod: rekurzivní kód je kratší než iterační kód, lze jej použít k řešení problémů, které jsou přirozeně rekurzivní, lze jej použít při hodnocení infixu, prefixu, postfixu, rekurze snižuje čas potřebný k zápisu a ladicí kód atd.

Rekurze je oblíbeným tématem tazatelů v technických rozhovorech. Musíte vědět o rekurzi a o tom, jak ji používat při psaní kódu, abyste byli tím nejefektivnějším programátorem, jakým můžete být.

Podíl Podíl tweet E-mailem Co je rekurze a jak ji používáte?

Naučte se základy rekurze, základního, ale mírně ohýbajícího nástroje pro programátory.

Číst dále
Související témata
  • Programování
  • JavaScript
  • Krajta
  • Návody na kódování
O autorovi Yuvraj Chandra(60 článků zveřejněno)

Yuvraj je studentem informatiky na univerzitě v Dillí v Indii. Je nadšený pro webový vývoj Full Stack. Když nepíše, zkoumá hloubku různých technologií.

Více od Yuvraj Chandra

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!

Kliknutím sem se přihlásíte k odběru