Kaip pakeisti masyvą naudojant „C ++“, „Python“ ir „JavaScript“

Kaip pakeisti masyvą naudojant „C ++“, „Python“ ir „JavaScript“

Masyvas yra elementų, saugomų gretimose atminties vietose, rinkinys. Masyvo apgręžimas yra viena iš dažniausiai atliekamų masyvo operacijų. Šiame straipsnyje sužinosite, kaip parašyti savo masyvo pakeitimo įgyvendinimą, naudojant iteracinius ir rekursinius metodus.





Iteracinis metodas pakeisti masyvą

Problemos pareiškimas

Jums duotas masyvas arr . Turite pakeisti masyvo elementus, tada atspausdinti atvirkštinį masyvą. Šį sprendimą turite įgyvendinti naudodami kilpas.





1 pavyzdys : Leiskite arr = [45, 12, 67, 63, 9, 23, 74]





Atvirkštinis judėjimas = [74, 23, 9, 63, 67, 12, 45]

kompiuteris trunka amžinai, kad iš naujo paleistų „Windows 10“

Taigi produkcija yra: 74 23 9 63 67 12 45.



2 pavyzdys : Leiskite arr = [1, 2, 3, 4, 5, 6, 7, 8]

Atvirkštinis arr = [8, 7, 6, 5, 4, 3, 2, 1]





Taigi rezultatas yra: 8 7 6 5 4 3 2 1.

Masyvo apgręžimo būdas naudojant kilpas

Galite pakeisti masyvo elementus naudodami kilpas, laikydamiesi toliau pateikto metodo:





  1. Inicijuokite indekso kintamuosius „i“ ir „j“ taip, kad jie nukreiptų į pirmąjį (0) ir paskutinį (sizeOfArray - 1) masyvo indeksą.
  2. Ciklo metu sukeiskite elementą i indeksu su elementu j indekse.
  3. Padidinkite i reikšmę 1 ir sumažinkite j reikšmę 1.
  4. Vykdykite kilpą, kol i

C ++ programa, skirta masyvui pakeisti naudojant kilpas

Žemiau yra C ++ programa, skirta pakeisti masyvą naudojant kilpas:

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

Išėjimas:

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

Susijęs: Kaip pakeisti eilutę „C ++“, „Python“ ir „JavaScript“

„Python“ programa, skirta masyvui pakeisti naudojant kilpas

Žemiau yra „Python“ programa, skirta pakeisti masyvą naudojant kilpas:

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

Išėjimas:

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

„JavaScript“ programa, skirta masyvui pakeisti naudojant kilpas

Žemiau yra „JavaScript“ programa, skirta pakeisti masyvą naudojant kilpas:

Susijęs: Įvadas į sujungimo rūšiavimo algoritmą

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

Išėjimas:

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

Rekursyvus metodas pakeisti masyvą

Problemos pareiškimas

Jums duotas masyvas arr . Turite pakeisti masyvo elementus, tada atspausdinti atvirkštinį masyvą. Turite įgyvendinti šį sprendimą naudodami rekursiją.

1 pavyzdys : Leiskite arr = [45, 12, 67, 63, 9, 23, 74]

Atvirkštinis judėjimas = [74, 23, 9, 63, 67, 12, 45]

Taigi produkcija yra 74 23 9 63 67 12 45.

2 pavyzdys : Leiskite arr = [1, 2, 3, 4, 5, 6, 7, 8]

Atvirkštinis arr = [8, 7, 6, 5, 4, 3, 2, 1]

Taigi išvestis yra 8 7 6 5 4 3 2 1.

Masyvo pakeitimo metodas naudojant rekursiją

Galite pakeisti masyvo elementus naudodami rekursiją, atlikdami toliau nurodytą metodą.

  1. Inicijuokite indekso kintamuosius pradėti ir galas taip, kad jie nukreiptų į pirmąjį (0) ir paskutinį (sizeOfArray - 1) masyvo indeksą.
  2. Pakeiskite elementą indekse pradėti su elementu indekse galas .
  3. Rekursyviai iškvieskite atvirkštinę funkciją. Atvirkštinės funkcijos parametruose padidinkite reikšmę pradėti 1 ir sumažinti reikšmę galas iki 1.
  4. Sustabdykite rekursiją, kai pradėti kintamasis yra didesnis arba lygus reikšmei galas kintamasis.

C ++ programa, skirta masyvui pakeisti naudojant rekursiją

Žemiau yra C ++ programa, skirta pakeisti masyvą naudojant rekursiją:

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

Išėjimas:

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

„Python“ programa, skirta pakeisti masyvą naudojant rekursiją

Žemiau yra „Python“ programa, skirta pakeisti masyvą naudojant rekursiją:

kaip perkelti kelias dainas į spotify

Susijęs: Dinaminis programavimas: pavyzdžiai, bendros problemos ir sprendimai

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

Išėjimas:

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

„JavaScript“ programa, skirta pakeisti masyvą naudojant rekursiją

Žemiau yra „JavaScript“ programa, skirta pakeisti masyvą naudojant rekursiją:

Susijęs: Kaip rasti natūralių skaičių sumą naudojant rekursiją

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

Išėjimas:

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

Norėdami išspręsti problemas, naudokite rekursiją

Rekursinė funkcija yra funkcija, kuri vadinasi pati. Rekursijos metu problema išsprendžiama suskaidant problemas į mažesnes, paprastesnes jų pačių versijas.

Yra daug rekursijos pranašumų: rekursinis kodas yra trumpesnis už iteracinį kodą, juo galima išspręsti natūraliai rekursines problemas, jis gali būti naudojamas infiksų, priešdėlių, postfiksų vertinimuose, rekursija sumažina rašymui reikalingą laiką ir derinimo kodas ir kt.

Rekursija yra mėgstamiausia techninių interviu pašnekovų tema. Turite žinoti apie rekursiją ir kaip ją naudoti rašydami kodą, kad būtumėte efektyviausias programuotojas.

Dalintis Dalintis „Tweet“ Paštu Kas yra rekursija ir kaip ją naudoti?

Išmokite rekursijos pagrindų, esminio, bet šiek tiek proto lenkiančio įrankio programuotojams.

Skaityti toliau
Susijusios temos
  • Programavimas
  • „JavaScript“
  • Python
  • Kodavimo pamokos
Apie autorių Yuvraj Chandra(Paskelbti 60 straipsnių)

Yuvraj yra kompiuterių mokslo bakalauro studentas Delyje, Indijoje. Jis aistringas „Full Stack“ žiniatinklio kūrimui. Kai jis nerašo, jis tyrinėja skirtingų technologijų gylį.

Daugiau iš Yuvraj Chandra

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia