Omvendelse af Arrays
Stryg for at vise menuen
At vende et array betyder at ændre rækkefølgen af dets elementer, så det første element bliver det sidste, det andet bliver næstsidste, og så videre. Denne operation er nyttig i situationer som at fortryde handlinger, vise de seneste elementer først eller når du har brug for at behandle data i omvendt rækkefølge. Forståelse af, hvordan man vender arrays, hjælper dig med at manipulere data mere fleksibelt i dine C#-programmer.
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 ovenfor demonstrerer, hvordan man vender et array på stedet ved hjælp af en for-løkke. Algoritmen fungerer ved at bytte elementet i starten af arrayet med elementet i slutningen, derefter bevæge sig indad og gentage processen, indtil midten af arrayet er nået. På denne måde bliver hvert elementpar kun byttet én gang, og vendingen udføres effektivt uden behov for ekstra plads til et andet 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 kodeeksempel demonstrerer, hvordan man opretter et nyt omvendt array ud fra det oprindelige array uden at ændre det oprindelige. Hvert element kopieres fra det oprindelige array til et nyt array i omvendt rækkefølge. Denne tilgang gør det muligt at bevare det oprindelige array uændret, samtidig med at du får en omvendt version, som kan bruges separat.
1. Hvad er den primære forskel mellem in-place omvendelse og oprettelse af en omvendt kopi?
2. Hvor mange byt er nødvendige for at vende et array med længden n?
3. Hvorfor kan det være vigtigt at bevare det oprindelige array, når du vender det?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat