Omvendelse av arrayer
Sveip for å vise menyen
Å reversere et array betyr å endre rekkefølgen på elementene slik at det første elementet blir det siste, det andre blir nest sist, og så videre. Denne operasjonen er nyttig i situasjoner som å angre handlinger, vise de siste elementene først, eller når du trenger å behandle data i motsatt rekkefølge. Å forstå hvordan du reverserer arrays gir deg større fleksibilitet til å manipulere data i C#-programmene dine.
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 + " "); } } } }
Koden over viser hvordan du kan reversere et array på stedet ved å bruke en for-løkke. Algoritmen fungerer ved å bytte elementet i starten av arrayet med elementet på slutten, deretter bevege seg innover og gjenta denne prosessen til du når midten av arrayet. På denne måten byttes hvert elementpar kun én gang, og reverseringen utføres effektivt uten behov for ekstra plass til et nytt 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 + " "); } } } }
Dette kodeeksempelet viser hvordan du kan lage et nytt reversert array fra det opprinnelige arrayet uten å endre det opprinnelige. Hvert element kopieres fra det opprinnelige arrayet til et nytt array i motsatt rekkefølge. Denne metoden lar deg beholde det opprinnelige arrayet uendret, samtidig som du får en reversert versjon du kan bruke separat.
1. Hva er hovedforskjellen mellom reversering på stedet og å lage en reversert kopi?
2. Hvor mange bytter er nødvendig for å reversere et array med lengde n?
3. Hvorfor kan det være ønskelig å bevare det opprinnelige arrayet ved reversering?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår