Kā mainīt masīvu C ++, Python un JavaScript

Kā mainīt masīvu C ++, Python un JavaScript

Masīvs ir vienumu kolekcija, kas tiek glabāta blakus esošās atmiņas vietās. Masīva apgriešana ir viena no visbiežāk veiktajām masīva darbībām. Šajā rakstā jūs uzzināsit, kā rakstīt savu masīva apgriešanas ieviešanu, izmantojot iteratīvas un rekursīvas pieejas.





Iteratīva pieeja masīva maiņai

Paziņojums par problēmu

Jums ir dots masīvs arr . Jums ir jāmaina masīva elementi, pēc tam jāizdrukā apgrieztais masīvs. Šis risinājums ir jāievieš, izmantojot cilpas.





1. piemērs : Ļaujiet arr = [45, 12, 67, 63, 9, 23, 74]





Atgriezeniskais rīts = [74, 23, 9, 63, 67, 12, 45]

kā atiestatīt sistēmu Windows 10

Tādējādi izlaide ir: 74 23 9 63 67 12 45.



2. piemērs : Ļaujiet arr = [1, 2, 3, 4, 5, 6, 7, 8]

Apgrieztais rāpsts = [8, 7, 6, 5, 4, 3, 2, 1]





Tādējādi rezultāts ir: 8 7 6 5 4 3 2 1.

Pieeja masīva maiņai, izmantojot cilpas

Jūs varat mainīt masīva elementus, izmantojot cilpas, ievērojot tālāk norādīto pieeju.





  1. Inicializējiet indeksa mainīgos “i” un “j” tā, lai tie norādītu attiecīgi uz masīva pirmo (0) un pēdējo (sizeOfArray - 1) indeksu.
  2. Cikla laikā mainiet elementu pie indeksa i ar elementu indeksā j.
  3. Palieliniet i vērtību par 1 un samaziniet j vērtību par 1.
  4. Palaidiet cilpu, līdz i

C ++ programma masīva maiņai, izmantojot cilpas

Zemāk ir C ++ programma, lai mainītu masīvu, izmantojot cilpas:

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

Izeja:

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

Saistīts: Kā mainīt stīgu C ++, Python un JavaScript

Python programma masīva maiņai, izmantojot cilpas

Zemāk ir programma Python, lai mainītu masīvu, izmantojot cilpas:

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

Izeja:

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

JavaScript programma, lai mainītu masīvu, izmantojot cilpas

Zemāk ir JavaScript programma, lai mainītu masīvu, izmantojot cilpas:

Saistīts: Ievads apvienošanas kārtošanas 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);

Izeja:

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

Rekursīva pieeja masīva maiņai

Paziņojums par problēmu

Jums ir dots masīvs arr . Jums ir jāmaina masīva elementi, pēc tam jāizdrukā apgrieztais masīvs. Šis risinājums jāievieš, izmantojot rekursiju.

1. piemērs : Ļaujiet arr = [45, 12, 67, 63, 9, 23, 74]

Atgriezeniskais rīts = [74, 23, 9, 63, 67, 12, 45]

Tādējādi produkcija ir 74 23 9 63 67 12 45.

2. piemērs : Ļaujiet arr = [1, 2, 3, 4, 5, 6, 7, 8]

Apgrieztais rāpsts = [8, 7, 6, 5, 4, 3, 2, 1]

Tādējādi rezultāts ir 8 7 6 5 4 3 2 1.

Pieeja masīva maiņai, izmantojot rekursiju

Jūs varat mainīt masīva elementus, izmantojot rekursiju, ievērojot tālāk norādīto pieeju.

  1. Inicializējiet indeksa mainīgos sākt un beigas tā, lai tie norādītu attiecīgi uz masīva pirmo (0) un pēdējo (sizeOfArray - 1) indeksu.
  2. Nomainiet elementu indeksā sākt ar elementu indeksā beigas .
  3. Rekursīvi izsauciet atpakaļgaitas funkciju. Reversās funkcijas parametros palieliniet vērtību sākt par 1 un samazina vērtību beigas ar 1.
  4. Apturiet rekursiju, kad vērtība sākt mainīgais ir lielāks vai vienāds ar vērtību beigas mainīgais.

C ++ programma masīva maiņai, izmantojot rekursiju

Zemāk ir C ++ programma, lai mainītu masīvu, izmantojot rekursiju:

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

Izeja:

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

Python programma masīva maiņai, izmantojot rekursiju

Zemāk ir programma Python, lai mainītu masīvu, izmantojot rekursiju:

labākās laika lietotnes android 2015

Saistītie: Dinamiskā programmēšana: piemēri, izplatītas problēmas un risinājumi

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

Izeja:

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

JavaScript programma, lai mainītu masīvu, izmantojot rekursiju

Zemāk ir JavaScript programma, lai mainītu masīvu, izmantojot rekursiju:

Saistīts: Kā atrast dabisko skaitļu summu, izmantojot rekursiju

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

Izeja:

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

Izmantojiet rekursiju, lai atrisinātu problēmas

Rekursīva funkcija ir funkcija, kas sevi sauc. Rekursijas gadījumā problēma tiek atrisināta, sadalot problēmas mazākās, vienkāršākās versijās.

Rekursijai ir daudz priekšrocību: rekursīvais kods ir īsāks nekā iteratīvs kods, to var izmantot, lai atrisinātu dabiski rekursīvas problēmas, to var izmantot infiksu, prefiksu, postfiksu novērtējumos, rekursija samazina rakstīšanai nepieciešamo laiku un atkļūdošanas kods utt.

Rekursija ir iecienīta intervētāju tēma tehniskajās intervijās. Jums ir jāzina par rekursiju un to, kā to izmantot, rakstot kodu, lai būtu visefektīvākais programmētājs.

Kopīgot Kopīgot Čivināt E -pasts Kas ir rekursija un kā to izmantot?

Apgūstiet rekursijas pamatus, kas ir būtisks, bet nedaudz saprotošs rīks programmētājiem.

Lasīt Tālāk
Saistītās tēmas
  • Programmēšana
  • JavaScript
  • Python
  • Kodēšanas apmācības
Par autoru Yuvraj Chandra(60 raksti publicēti)

Yuvraj ir datorzinātņu bakalaura students Deli universitātē, Indijā. Viņš aizraujas ar Full Stack tīmekļa izstrādi. Kad viņš neraksta, viņš pēta dažādu tehnoloģiju dziļumu.

Vairāk no Yuvraj Chandra

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu