Vända Arrayer
Svep för att visa menyn
Att vända en array innebär att ändra ordningen på dess element så att det första elementet blir det sista, det andra blir näst sist, och så vidare. Denna operation är användbar i situationer som att ångra åtgärder, visa de senaste objekten först eller när du behöver bearbeta data i omvänd ordning. Att förstå hur man vänder arrayer hjälper dig att hantera data mer flexibelt i dina C#-program.
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 ovan visar hur man vänder en array på plats med hjälp av en for-loop. Algoritmen fungerar genom att byta plats på elementet i början av arrayen med elementet i slutet, sedan flytta sig inåt och upprepa processen tills mitten av arrayen nås. På detta sätt byts varje elementpar endast en gång, och vändningen genomförs effektivt utan att behöva extra utrymme för en annan 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 + " "); } } } }
Detta kodexempel visar hur man skapar en ny array i omvänd ordning från den ursprungliga arrayen utan att ändra originalet. Varje element kopieras från den ursprungliga arrayen till en ny array i omvänd ordning. Detta tillvägagångssätt gör att du kan behålla originalarrayen oförändrad samtidigt som du får en omvänd version att använda separat.
1. Vad är den största skillnaden mellan omvändning på plats och att skapa en omvänd kopia?
2. Hur många byten krävs för att vända en array med längden n?
3. Varför kan det vara viktigt att bevara den ursprungliga arrayen vid vändning?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal