Invertendo Arrays
Deslize para mostrar o menu
Reverter um array significa alterar a ordem de seus elementos de modo que o primeiro elemento se torne o último, o segundo se torne o penúltimo, e assim por diante. Essa operação é útil em situações como desfazer ações, exibir itens recentes primeiro ou simplesmente quando é necessário processar dados na ordem inversa. Compreender como reverter arrays permite manipular dados de forma mais flexível em seus programas C#.
Program.cs
12345678910111213141516171819202122232425262728using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { int[] numbers = { 1, 2, 3, 4, 5 }; int n = numbers.Length; // Reverse the array in place using a for loop for (int i = 0; i < n / 2; i++) { int temp = numbers[i]; numbers[i] = numbers[n - 1 - i]; numbers[n - 1 - i] = temp; } Console.WriteLine("Reversed array:"); foreach (int num in numbers) { Console.Write(num + " "); } } } }
O código acima demonstra como reverter um array no próprio local utilizando um laço for. O algoritmo funciona trocando o elemento do início do array com o elemento do final, avançando em direção ao centro e repetindo esse processo até alcançar o meio do array. Dessa forma, cada par de elementos é trocado apenas uma vez, e a reversão é realizada de maneira eficiente sem a necessidade de espaço extra para outro array.
Program.cs
123456789101112131415161718192021222324252627282930313233using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { int[] original = { 1, 2, 3, 4, 5 }; int n = original.Length; int[] reversed = new int[n]; // Create a new reversed array for (int i = 0; i < n; i++) { reversed[i] = original[n - 1 - i]; } Console.WriteLine("Original array:"); foreach (int num in original) { Console.Write(num + " "); } Console.WriteLine("\nReversed array (new):"); foreach (int num in reversed) { Console.Write(num + " "); } } } }
Este exemplo de código demonstra como criar um novo array invertido a partir do array original sem modificar o original. Cada elemento do array original é copiado para um novo array em ordem inversa. Essa abordagem permite manter o array original inalterado enquanto fornece uma versão invertida que pode ser utilizada separadamente.
1. Qual é a principal diferença entre inversão in-place e criação de uma cópia invertida?
2. Quantas trocas são necessárias para inverter um array de comprimento n?
3. Por que pode ser importante preservar o array original ao inverter?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo