Como reverter um array em C ++, Python e JavaScript

Como reverter um array em C ++, Python e JavaScript

Uma matriz é uma coleção de itens armazenados em locais de memória contíguos. A reversão de uma matriz é uma das operações mais comuns a serem realizadas em uma matriz. Neste artigo, você aprenderá como escrever sua própria implementação de reversão de um array usando abordagens iterativas e recursivas.





Abordagem iterativa para reverter uma matriz

Declaração do Problema

Você recebe um array arr . Você precisa inverter os elementos da matriz e, em seguida, imprimir a matriz invertida. Você precisa implementar esta solução usando loops.





Exemplo 1 : Let arr = [45, 12, 67, 63, 9, 23, 74]





Arr reverso = [74, 23, 9, 63, 67, 12, 45]

como fazer um disco de inicialização do Windows 7

Assim, a saída é: 74 23 9 63 67 12 45.



Exemplo 2 : Let arr = [1, 2, 3, 4, 5, 6, 7, 8]

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





Portanto, a saída é: 8 7 6 5 4 3 2 1.

Abordagem para reverter uma matriz usando loops

Você pode reverter os elementos de uma matriz usando loops seguindo a abordagem abaixo:





  1. Inicialize as variáveis ​​de índice 'i' e 'j' de forma que apontem para o primeiro (0) e o último (sizeOfArray - 1) índice da matriz, respectivamente.
  2. Em um loop, troque o elemento no índice i com o elemento no índice j.
  3. Aumente o valor de i em 1 e diminua o valor de j em 1.
  4. Execute o loop até que eu

Programa C ++ para reverter um array usando loops

Abaixo está o programa C ++ para reverter uma matriz usando loops:

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

Saída:

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

Relacionado: Como reverter uma string em C ++, Python e JavaScript

Programa Python para reverter um array usando loops

Abaixo está o programa Python para reverter uma matriz usando loops:

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

Saída:

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

Programa JavaScript para reverter uma matriz usando loops

Abaixo está o programa JavaScript para reverter uma matriz usando loops:

Relacionado: Uma introdução ao algoritmo de classificação de mesclagem

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

Saída:

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

Abordagem recursiva para reverter uma matriz

Declaração do Problema

Você recebe um array arr . Você precisa inverter os elementos da matriz e, em seguida, imprimir a matriz invertida. Você precisa implementar esta solução usando recursão.

Exemplo 1 : Let arr = [45, 12, 67, 63, 9, 23, 74]

Arr reverso = [74, 23, 9, 63, 67, 12, 45]

Assim, a saída é 74 23 9 63 67 12 45.

Exemplo 2 : Let arr = [1, 2, 3, 4, 5, 6, 7, 8]

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

Portanto, a saída é 8 7 6 5 4 3 2 1.

Abordagem para reverter uma matriz usando recursão

Você pode reverter os elementos de uma matriz usando recursão seguindo a abordagem abaixo:

  1. Inicializar variáveis ​​de índice começar e fim de forma que eles apontem para o primeiro (0) e o último (sizeOfArray - 1) índice da matriz, respectivamente.
  2. Troque o elemento no índice começar com o elemento no índice fim .
  3. Chame recursivamente a função reversa. Nos parâmetros da função reversa, incremente o valor de começar por 1 e diminuir o valor de fim por 1.
  4. Pare a recursão quando o valor do começar variável é maior ou igual ao valor do fim variável.

Programa C ++ para reverter uma matriz usando recursão

Abaixo está o programa C ++ para reverter uma matriz usando recursão:

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

Saída:

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

Programa Python para reverter um array usando recursão

Abaixo está o programa Python para reverter uma matriz usando recursão:

o que é chromecast e como funciona

Relacionado: Programação Dinâmica: Exemplos, Problemas Comuns e Soluções

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

Saída:

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

Programa JavaScript para reverter uma matriz usando recursão

Abaixo está o programa JavaScript para reverter uma matriz usando recursão:

Relacionado: Como Encontrar a Soma dos Números Naturais Usando Recursão

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

Saída:

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

Use a recursão para resolver problemas

Uma função recursiva é uma função que chama a si mesma. Na recursão, um problema é resolvido dividindo-os em versões menores e mais simples deles mesmos.

As vantagens da recursão são muitas: o código recursivo é mais curto do que um código iterativo, pode ser usado para resolver os problemas que são naturalmente recursivos, pode ser usado em avaliações infix, prefix, postfix, recursion reduz o tempo necessário para escrever e código de depuração, etc.

A recursão é um tópico favorito dos entrevistadores em entrevistas técnicas. Você deve saber sobre recursão e como usá-la enquanto escreve código para ser o programador mais eficiente possível.

Compartilhado Compartilhado Tweet O email O que é recursão e como usá-la?

Aprenda o básico da recursão, a ferramenta essencial, mas um tanto alucinante, para programadores.

Leia a seguir
Tópicos relacionados
  • Programação
  • JavaScript
  • Pitão
  • Tutoriais de codificação
Sobre o autor Yuvraj Chandra(60 artigos publicados)

Yuvraj é estudante de graduação em Ciência da Computação na Universidade de Delhi, na Índia. Ele é apaixonado por Full Stack Web Development. Quando não está escrevendo, ele está explorando a profundidade de diferentes tecnologias.

Mais de Yuvraj Chandra

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever