Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Invertire Gli Array | Manipolazione e Ordinamento degli Array
Array in C#

Invertire Gli Array

Scorri per mostrare il menu

Invertire un array significa cambiare l'ordine dei suoi elementi in modo che il primo elemento diventi l'ultimo, il secondo diventi il penultimo e così via. Questa operazione è utile in situazioni come annullare azioni, visualizzare gli elementi più recenti per primi o semplicemente quando è necessario elaborare i dati in ordine inverso. Comprendere come invertire gli array aiuta a manipolare i dati in modo più flessibile nei programmi C#.

Program.cs

Program.cs

12345678910111213141516171819202122232425262728
using 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 + " "); } } } }

Il codice sopra mostra come invertire un array in loco utilizzando un ciclo for. L'algoritmo funziona scambiando l'elemento all'inizio dell'array con quello alla fine, poi procedendo verso il centro e ripetendo questo processo fino a raggiungere la metà dell'array. In questo modo, ogni coppia di elementi viene scambiata una sola volta e l'inversione viene completata in modo efficiente senza la necessità di spazio aggiuntivo per un altro array.

Program.cs

Program.cs

123456789101112131415161718192021222324252627282930313233
using 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 + " "); } } } }

Questo esempio di codice mostra come creare un nuovo array invertito a partire dall'array originale senza modificarlo. Ogni elemento viene copiato dall'array originale in un nuovo array in ordine inverso. Questo approccio consente di mantenere invariato l'array originale, fornendo al contempo una versione invertita da utilizzare separatamente.

1. Qual è la principale differenza tra l'inversione in loco e la creazione di una copia invertita?

2. Quanti scambi sono necessari per invertire un array di lunghezza n?

3. Perché potresti voler preservare l'array originale durante l'inversione?

question mark

Qual è la principale differenza tra l'inversione in loco e la creazione di una copia invertita?

Seleziona la risposta corretta

question mark

Quanti scambi sono necessari per invertire un array di lunghezza n?

Seleziona la risposta corretta

question mark

Perché potresti voler preservare l'array originale durante l'inversione?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 1

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 3. Capitolo 1
some-alt