Jak odwrócić tablicę w C++, Pythonie i JavaScript

Jak odwrócić tablicę w C++, Pythonie i JavaScript

Tablica to zbiór elementów przechowywanych w ciągłych lokalizacjach pamięci. Odwrócenie tablicy jest jedną z najczęstszych operacji wykonywanych na tablicy. W tym artykule dowiesz się, jak napisać własną implementację odwracania tablicy przy użyciu podejść iteracyjnych i rekurencyjnych.





Iteracyjne podejście do odwracania tablicy

Stwierdzenie problemu

Dostajesz tablicę Arr . Musisz odwrócić elementy tablicy, a następnie wydrukować odwróconą tablicę. Musisz zaimplementować to rozwiązanie za pomocą pętli.





Przykład 1 : Niech arr = [45, 12, 67, 63, 9, 23, 74]





Odwrócona arr = [74, 23, 9, 63, 67, 12, 45]

najlepsze aplikacje do SMS-ów na tablety z Androidem

Zatem wynik wynosi: 74 23 9 63 67 12 45.



Przykład 2 : Niech arr = [1, 2, 3, 4, 5, 6, 7, 8]

Odwrócona arr = [8, 7, 6, 5, 4, 3, 2, 1]





Wynik: 8 7 6 5 4 3 2 1.

Podejście do odwrócenia tablicy za pomocą pętli

Możesz odwrócić elementy tablicy za pomocą pętli, stosując poniższe podejście:





  1. Zainicjuj zmienne indeksujące 'i' i 'j' tak, aby wskazywały odpowiednio na pierwszy (0) i ostatni (sizeOfArray - 1) indeks tablicy.
  2. W pętli zamień element o indeksie i na element o indeksie j.
  3. Zwiększ wartość i o 1 i zmniejsz wartość j o 1.
  4. Uruchom pętlę, aż i

Program C++ do odwracania tablicy za pomocą pętli

Poniżej znajduje się program C++ do odwracania tablicy za pomocą pętli:

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

Wyjście:

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

Związane z: Jak odwrócić ciąg znaków w C++, Pythonie i JavaScript

Program Pythona do odwracania tablicy za pomocą pętli

Poniżej znajduje się program Pythona do odwracania tablicy za pomocą pętli:

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

Wyjście:

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

Program JavaScript do odwracania tablicy za pomocą pętli

Poniżej znajduje się program JavaScript do odwracania tablicy za pomocą pętli:

Związane z: Wprowadzenie do algorytmu sortowania przez scalanie

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

Wyjście:

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

Rekurencyjne podejście do odwracania tablicy

Stwierdzenie problemu

Dostajesz tablicę Arr . Musisz odwrócić elementy tablicy, a następnie wydrukować odwróconą tablicę. Musisz zaimplementować to rozwiązanie za pomocą rekurencji.

Przykład 1 : Niech arr = [45, 12, 67, 63, 9, 23, 74]

Odwrócona arr = [74, 23, 9, 63, 67, 12, 45]

Zatem wynik wynosi 74 23 9 63 67 12 45.

Przykład 2 : Niech arr = [1, 2, 3, 4, 5, 6, 7, 8]

Odwrócona arr = [8, 7, 6, 5, 4, 3, 2, 1]

Zatem wynik wynosi 8 7 6 5 4 3 2 1.

Podejście do odwrócenia tablicy za pomocą rekursji

Możesz odwrócić elementy tablicy za pomocą rekurencji, stosując poniższe podejście:

  1. Zainicjuj zmienne indeksu początek oraz kończyć się tak, że wskazują odpowiednio na pierwszy (0) i ostatni (sizeOfArray - 1) indeks tablicy.
  2. Zamień element w indeksie początek z elementem w indeksie kończyć się .
  3. Rekurencyjnie wywołaj funkcję reverse. W parametrach funkcji odwrotnej zwiększ wartość początek o 1 i zmniejsz wartość kończyć się o 1.
  4. Zatrzymaj rekurencję, gdy wartość początek zmienna jest większa lub równa wartości kończyć się zmienny.

Program C++ do odwracania tablicy za pomocą rekurencji

Poniżej znajduje się program C++ do odwracania tablicy za pomocą rekurencji:

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

Wyjście:

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

Program Pythona do odwracania tablicy za pomocą rekurencji

Poniżej znajduje się program Pythona do odwracania tablicy za pomocą rekurencji:

darmowe aplikacje e-mail dla systemu Windows 10

Powiązane: Programowanie dynamiczne: przykłady, typowe problemy i rozwiązania

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

Wyjście:

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

Program JavaScript do odwracania tablicy za pomocą rekurencji

Poniżej znajduje się program JavaScript do odwracania tablicy za pomocą rekurencji:

Powiązane: Jak znaleźć sumę liczb naturalnych za pomocą rekurencji?

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

Wyjście:

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

Użyj rekurencji do rozwiązywania problemów

Funkcja rekurencyjna to funkcja, która wywołuje samą siebie. W rekurencji problem rozwiązuje się poprzez rozbicie problemów na mniejsze, prostsze wersje samych siebie.

Zalet rekurencji jest wiele: kod rekurencyjny jest krótszy niż kod iteracyjny, może być użyty do rozwiązywania problemów, które są naturalnie rekurencyjne, może być użyty w ocenach infix, prefix, postfix, rekurencja skraca czas potrzebny na napisanie i kod debugowania itp.

Rekurencja jest ulubionym tematem ankieterów w wywiadach technicznych. Musisz wiedzieć o rekurencji i jak jej używać podczas pisania kodu, aby być jak najbardziej wydajnym programistą.

Udział Udział Ćwierkać E-mail Co to jest rekurencja i jak z niej korzystać?

Naucz się podstaw rekurencji, podstawowego, ale nieco zginającego umysł narzędzia dla programistów.

Czytaj dalej
Powiązane tematy
  • Programowanie
  • JavaScript
  • Pyton
  • Poradniki kodowania
O autorze Yuvraj Chandra(60 opublikowanych artykułów)

Yuvraj jest studentem informatyki na Uniwersytecie w Delhi w Indiach. Jest pasjonatem Full Stack Web Development. Kiedy nie pisze, bada głębię różnych technologii.

Więcej od Yuvraja Chandra

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować