Как обратить массив в C ++, Python и JavaScript

Как обратить массив в C ++, Python и JavaScript

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





Итерационный подход к обращению массива

Постановка задачи

Вам дан массив обр . Вам нужно перевернуть элементы массива, а затем распечатать перевернутый массив. Вам нужно реализовать это решение с помощью циклов.





Пример 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. Инициализируйте индексные переменные i и j так, чтобы они указывали на первый (0) и последний (sizeOfArray - 1) индекс массива соответственно.
  2. В цикле поменяйте местами элемент с индексом i на элемент с индексом j.
  3. Увеличьте значение i на 1 и уменьшите значение j на 1.
  4. Запустите цикл, пока я

Программа на 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 для реверсирования массива с помощью рекурсии:

как сделать nas сервер

Связанный: Динамическое программирование: примеры, общие проблемы и решения

# 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. Когда он не пишет, он исследует глубину различных технологий.

Ещё от Yuvraj Chandra

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Нажмите здесь, чтобы подписаться