Как да обърнем масив в C ++, Python и JavaScript

Как да обърнем масив в C ++, Python и JavaScript

Масивът е колекция от елементи, съхранявани в съседни места на паметта. Обръщането на масив е една от най -често срещаните операции, които се извършват върху масив. В тази статия ще научите как да напишете собствена реализация на обръщане на масив, използвайки итеративни и рекурсивни подходи.





Итеративен подход за обръщане на масив

Постановка на проблем

Даден ви е масив обр . Трябва да обърнете елементите на масива, след което да отпечатате обърнатия масив. Трябва да приложите това решение с помощта на цикли.





Пример 1 : Нека arr = [45, 12, 67, 63, 9, 23, 74]





Обърнат arr = [74, 23, 9, 63, 67, 12, 45]

как да смените магазина в itunes

Така изходът е: 74 23 9 63 67 12 45.



Пример 2 : Нека arr = [1, 2, 3, 4, 5, 6, 7, 8]

Обърнат arr = [8, 7, 6, 5, 4, 3, 2, 1]





Така изходът е: 8 7 6 5 4 3 2 1.

Подход за обръщане на масив с помощта на цикли

Можете да обърнете елементите на масив с помощта на цикли, като следвате подхода по -долу:





  1. Инициализирайте индексните променливи 'i' и 'j' така, че да сочат съответно първия (0) и последния (sizeOfArray - 1) индекс на масива.
  2. В цикъл разменете елемента в индекс i с елемента в индекс j.
  3. Увеличете стойността на i с 1 и намалете стойността на j с 1.
  4. Изпълнете цикъла, докато i

C ++ програма за обръщане на масив с помощта на цикли

По -долу е програмата C ++ за обръщане на масив с помощта на цикли:

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

Изход:

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

Свързани: Как да обърнем низ в C ++, Python и JavaScript

Програма Python за обръщане на масив с помощта на цикли

По -долу е програмата Python за обръщане на масив с помощта на цикли:

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

Изход:

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

JavaScript програма за обръщане на масив с помощта на цикли

По -долу е програмата JavaScript за обръщане на масив с помощта на цикли:

Свързани: Въведение в алгоритъма за сортиране на сливане

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

Изход:

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

Рекурсивен подход за обръщане на масив

Постановка на проблем

Даден ви е масив обр . Трябва да обърнете елементите на масива, след което да отпечатате обърнатия масив. Трябва да приложите това решение с помощта на рекурсия.

Пример 1 : Нека arr = [45, 12, 67, 63, 9, 23, 74]

Обърнат arr = [74, 23, 9, 63, 67, 12, 45]

Така изходът е 74 23 9 63 67 12 45.

Пример 2 : Нека arr = [1, 2, 3, 4, 5, 6, 7, 8]

Обърнат arr = [8, 7, 6, 5, 4, 3, 2, 1]

Така изходът е 8 7 6 5 4 3 2 1.

Подход за обръщане на масив с помощта на рекурсия

Можете да обърнете елементите на масив с помощта на рекурсия, като следвате подхода по -долу:

  1. Инициализирайте индексните променливи започнете и край така че те сочат съответно първия (0) и последния (sizeOfArray - 1) индекс на масива.
  2. Разменете елемента в индекса започнете с елемента в индекса край .
  3. Рекурсивно извикайте обратната функция. В параметрите на обратната функция увеличете стойността на започнете с 1 и намалете стойността на край от 1.
  4. Спрете рекурсията, когато стойността на започнете променливата е по -голяма или равна на стойността на край променлива.

C ++ програма за обръщане на масив с помощта на рекурсия

По -долу е програмата C ++ за обръщане на масив с помощта на рекурсия:

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

Изход:

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

Програма Python за обръщане на масив с помощта на рекурсия

По -долу е програмата Python за обръщане на масив с помощта на рекурсия:

защо лаптопът ми издава толкова шум

Свързани: Динамично програмиране: Примери, често срещани проблеми и решения

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

Изход:

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

JavaScript програма за обръщане на масив с помощта на рекурсия

По -долу е програмата JavaScript за обръщане на масив с помощта на рекурсия:

Свързани: Как да намерим сумата от естествени числа, използвайки рекурсия

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

Изход:

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

Използвайте рекурсия за решаване на проблеми

Рекурсивна функция е функция, която се извиква сама. В рекурсията проблемът се решава чрез разбиване на проблемите на по -малки, по -прости версии на самите тях.

Има много предимства на рекурсията: рекурсивният код е по -кратък от итеративен код, може да се използва за решаване на проблемите, които са естествено рекурсивни, може да се използва в инфикс, префикс, постфикс оценки, рекурсията намалява времето, необходимо за писане и код за отстраняване на грешки и др.

Рекурсията е любима тема на интервюиращите в техническите интервюта. Трябва да знаете за рекурсията и как да я използвате, докато пишете код, за да бъдете най -ефективният програмист, който можете да бъдете.

Дял Дял Туит електронна поща Какво е рекурсия и как я използвате?

Научете основите на рекурсията, основният, но леко уморителен инструмент за програмистите.

Прочетете Напред
Свързани теми
  • Програмиране
  • JavaScript
  • Python
  • Уроци по кодиране
За автора Юврадж Чандра(60 статии са публикувани)

Юврадж е студент по компютърни науки в Университета в Делхи, Индия. Той е страстен за Full Stack Web Development. Когато не пише, той изследва дълбочината на различните технологии.

Още от Yuvraj Chandra

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате