Kuidas massiivi C ++, Pythonis ja JavaScriptis ümber pöörata

Kuidas massiivi C ++, Pythonis ja JavaScriptis ümber pöörata

Massiiv on kogum üksusi, mis on salvestatud kõrvuti asetsevatesse mälukohtadesse. Massiivi ümberpööramine on üks massiivi jaoks kõige tavalisemaid toiminguid. Sellest artiklist saate teada, kuidas kirjutada oma massiivi ümberpööramise teostus iteratiivseid ja rekursiivseid lähenemisviise kasutades.





Iteratiivne lähenemine massiivi ümberpööramiseks

Probleemipüstituses

Teile antakse massiiv arr . Peate massiivi elemendid tagurpidi pöörama ja seejärel printima vastupidise massiivi. Peate selle lahenduse silmuste abil rakendama.





Näide 1 : Olgu arr = [45, 12, 67, 63, 9, 23, 74]





Tagurpidiarv = [74, 23, 9, 63, 67, 12, 45]

3. taseme vahemälu on kiirem kui 1. ja 2. taseme vahemälu.

Seega on väljund: 74 23 9 63 67 12 45.



Näide 2 : Olgu arr = [1, 2, 3, 4, 5, 6, 7, 8]

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





Seega on väljund: 8 7 6 5 4 3 2 1.

Massiivi ümberpööramine silmuste abil

Massiivi elemente saab silmuste abil ümber pöörata, järgides järgmist meetodit:





  1. Vormindage indeksi muutujad „i” ja „j” nii, et need osutaksid vastavalt massiivi esimesele (0) ja viimasele (sizeOfArray - 1) indeksile.
  2. Ahelas vahetage indeks i juures olev element indeksiga j elemendiga.
  3. Suurendage i väärtust 1 võrra ja vähendage j väärtust 1 võrra.
  4. Käivitage tsükkel, kuni i

C ++ programm massiivi pööramiseks silmuste abil

Allpool on programm C ++ massiivi pööramiseks silmuste abil:

// 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äljund:

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

Seotud: Stringi ümberpööramine C ++, Python ja JavaScriptis

Pythoni programm massiivi pööramiseks silmuste abil

Allpool on Pythoni programm massiivi ümberpööramiseks silmuste abil:

# 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äljund:

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

JavaScripti programm massiivi pööramiseks silmuste abil

Allpool on JavaScripti programm massiivi pööramiseks silmuste abil:

Seotud: Sissejuhatus ühendamise sortimisalgoritmi

// 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äljund:

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

Rekursiivne lähenemine massiivi ümberpööramiseks

Probleemipüstituses

Teile antakse massiiv arr . Peate massiivi elemendid tagurpidi pöörama ja seejärel printima vastupidise massiivi. Selle lahenduse peate rakendama rekursiooni abil.

Näide 1 : Olgu arr = [45, 12, 67, 63, 9, 23, 74]

Tagurpidiarv = [74, 23, 9, 63, 67, 12, 45]

Seega on väljund 74 23 9 63 67 12 45.

Näide 2 : Olgu arr = [1, 2, 3, 4, 5, 6, 7, 8]

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

Seega on väljund 8 7 6 5 4 3 2 1.

Massiivi ümberpööramise meetod rekursiooni abil

Massiivi elemente saate rekursiooni abil ümber pöörata, järgides järgmist meetodit:

  1. Initsialiseeri indeksi muutujad alustada ja lõpp nii, et need osutavad vastavalt massiivi esimesele (0) ja viimasele (sizeOfArray - 1) indeksile.
  2. Vahetage element indeksis alustada elemendiga indeksis lõpp .
  3. Kutsuge rekursiivselt tagurpidi funktsiooni. Pöördfunktsiooni parameetrites suurendage väärtust alustada 1 võrra ja vähendage väärtust lõpp poolt 1.
  4. Peatage rekursioon, kui väärtus alustada muutuja on suurem või võrdne väärtusega lõpp muutuja.

C ++ programm massiivi tagasipööramiseks rekursiooni abil

Allpool on C ++ programm massiivi tagasipööramiseks rekursiooni abil:

// 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äljund:

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

Pythoni programm massiivi ümberpööramiseks rekursiooni abil

Allpool on Pythoni programm massiivi ümberpööramiseks rekursiooni abil:

parandage Windows 10 100 kettakasutus

Seotud: Dünaamiline programmeerimine: näited, levinumad probleemid ja lahendused

# 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äljund:

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

JavaScripti programm massiivi ümberpööramiseks rekursiooni abil

Allpool on JavaScripti programm massiivi ümberpööramiseks rekursiooni abil:

Seotud: Kuidas leida looduslike numbrite summa rekursiooni abil

// 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äljund:

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

Probleemide lahendamiseks kasutage rekursiooni

Rekursiivne funktsioon on funktsioon, mis kutsub ennast. Rekursioonil lahendatakse probleem, jagades probleemid väiksemateks, lihtsamateks versioonideks.

Rekursioonil on palju eeliseid: rekursiivne kood on lühem kui iteratiivne kood, seda saab kasutada looduslikult rekursiivsete probleemide lahendamiseks, seda saab kasutada infix-, prefiks-, postfix -hindamises, rekursioon vähendab kirjutamiseks kuluvat aega ja silumiskood jne.

Rekursioon on intervjueerijate lemmikteema tehnilistes intervjuudes. Peate teadma rekursiooni ja selle kasutamise kohta koodi kirjutamise ajal, et olla kõige tõhusam programmeerija.

Jaga Jaga Piiksuma E -post Mis on rekursioon ja kuidas seda kasutada?

Õppige rekursiooni põhitõdesid, mis on programmeerijate jaoks hädavajalik, kuid kergelt mõtlemapanev tööriist.

Loe edasi
Seotud teemad
  • Programmeerimine
  • JavaScript
  • Python
  • Kodeerimise õpetused
Autori kohta Yuvraj Chandra(60 artiklit avaldatud)

Yuvraj on arvutiteaduse bakalaureuseõppe üliõpilane Indias Delhi ülikoolis. Ta on kirglik Full Stacki veebiarenduse vastu. Kui ta ei kirjuta, uurib ta erinevate tehnoloogiate sügavust.

Veel Yuvraj Chandrast

Telli meie uudiskiri

Liituge meie uudiskirjaga, et saada tehnilisi näpunäiteid, ülevaateid, tasuta e -raamatuid ja eksklusiivseid pakkumisi!

Tellimiseks klõpsake siin