Kako preokrenuti niz u C ++, Python i JavaScript

Kako preokrenuti niz u C ++, Python i JavaScript

Niz je zbirka stavki pohranjenih na susjednim memorijskim lokacijama. Preokret niza jedna je od najčešćih operacija koje se izvode na nizu. U ovom ćete članku naučiti kako napisati vlastitu implementaciju preokretanja niza pomoću iterativnih i rekurzivnih pristupa.





Iteracijski pristup obrnutom nizu

Izjava o problemu

Dobili ste niz dol . Morate obrnuti elemente niza, a zatim ispisati obrnuti niz. Ovo rješenje morate implementirati pomoću petlji.





Primjer 1 : Neka je arr = [45, 12, 67, 63, 9, 23, 74]





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

kako promijeniti veličinu slojeva u Photoshopu

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



Primjer 2 : Neka je arr = [1, 2, 3, 4, 5, 6, 7, 8]

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





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

Pristup obrnutom nizu pomoću petlji

Elemente niza možete obrnuti pomoću petlji slijedeći donji pristup:





  1. Inicijalizirajte varijable indeksa 'i' i 'j' tako da upućuju na prvi (0) i posljednji (sizeOfArray - 1) indeks niza.
  2. U petlji zamijenite element na indeksu i s elementom na indeksu j.
  3. Povećajte vrijednost i za 1 i smanjite vrijednost j za 1.
  4. Pokrenite petlju do i

C ++ program za preokretanje niza pomoću petlji

Ispod je program C ++ za preokretanje niza pomoću petlji:

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

Izlaz:

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

Povezano: Kako preokrenuti niz u C ++, Python i JavaScript

Python program za preokretanje niza pomoću petlji

Ispod je program Python za preokretanje niza pomoću petlji:

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

Izlaz:

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

JavaScript program za preokretanje niza pomoću petlji

Ispod je JavaScript program za preokretanje niza pomoću petlji:

Povezano: Uvod u algoritam spajanja sortiranja

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

Izlaz:

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

Rekurzivni pristup obrnutom nizu

Izjava o problemu

Dobili ste niz dol . Morate obrnuti elemente niza, a zatim ispisati obrnuti niz. Ovo rješenje morate implementirati pomoću rekurzije.

Primjer 1 : Neka je arr = [45, 12, 67, 63, 9, 23, 74]

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

Tako je izlaz 74 23 9 63 67 12 45.

Primjer 2 : Neka je arr = [1, 2, 3, 4, 5, 6, 7, 8]

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

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

Pristup obrnutom nizu pomoću rekurzije

Elemente niza možete poništiti pomoću rekurzije slijedeći donji pristup:

  1. Pokretanje varijabli indeksa početak i kraj tako da pokazuju prvi (0) i posljednji (sizeOfArray - 1) indeks niza.
  2. Zamijenite element na indeksu početak s elementom na indeksu kraj .
  3. Rekurzivno pozovite obrnutu funkciju. U parametrima obrnute funkcije povećajte vrijednost početak za 1 i smanji vrijednost kraj za 1.
  4. Zaustavite rekurziju kada vrijednost početak varijabla je veća ili jednaka vrijednosti kraj promjenjiva.

C ++ program za preokretanje niza pomoću rekurzije

Ispod je program C ++ za preokretanje niza pomoću 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;
}

Izlaz:

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

Python program za preokretanje niza pomoću rekurzije

Ispod je program Python za preokretanje niza pomoću rekurzije:

kako premjestiti aplikacije na sd karticu

Povezano: Dinamičko programiranje: primjeri, uobičajeni problemi i rješenja

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

Izlaz:

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

JavaScript program za obrnuti niz pomoću rekurzije

Ispod je JavaScript program za preokretanje niza pomoću rekurzije:

Povezano: Kako pronaći zbroj prirodnih brojeva pomoću rekurzije

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

Izlaz:

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

Za rješavanje problema koristite rekurziju

Rekurzivna funkcija je funkcija koja se sama poziva. U rekurziji se problem rješava razbijanjem problema na manje, jednostavnije verzije samih sebe.

Mnogo je prednosti rekurzije: rekurzivni kôd je kraći od iteracijskog koda, može se koristiti za rješavanje problema koji su prirodno rekurzivni, može se koristiti u infix, prefiksima, postfix evaluacijama, rekurzija skraćuje vrijeme potrebno za pisanje i kod za otklanjanje pogrešaka itd.

Rekurzija je omiljena tema anketara u tehničkim intervjuima. Morate znati o rekurziji i kako je koristiti prilikom pisanja koda da biste bili najučinkovitiji programer.

Udio Udio Cvrkut E -pošta Što je rekurzija i kako je koristiti?

Naučite osnove rekurzije, bitan, ali pomalo zapanjujući alat za programere.

Pročitajte Dalje
Povezane teme
  • Programiranje
  • JavaScript
  • Piton
  • Vodiči za kodiranje
O autoru Yuvraj Chandra(Objavljeno 60 članaka)

Yuvraj je student preddiplomskog studija Računarstva na Sveučilištu u Delhiju u Indiji. Oduševljen je Full Stack web razvojem. Kad ne piše, istražuje dubinu različitih tehnologija.

Više od Yuvraja Chandre

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu