Taulukoiden kääntäminen
Pyyhkäise näyttääksesi valikon
Taulukon kääntäminen tarkoittaa sen alkioiden järjestyksen muuttamista siten, että ensimmäisestä alkiosta tulee viimeinen, toisesta toiseksi viimeinen ja niin edelleen. Tämä toiminto on hyödyllinen esimerkiksi toimintojen perumisessa, uusimpien tietojen näyttämisessä ensin tai kun tietoja täytyy käsitellä päinvastaisessa järjestyksessä. Taulukoiden kääntämisen ymmärtäminen auttaa käsittelemään tietoja joustavammin C#-ohjelmissasi.
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 + " "); } } } }
Yllä oleva koodi havainnollistaa, kuinka taulukko käännetään paikan päällä for-silmukkaa käyttäen. Algoritmi toimii vaihtamalla taulukon alussa olevan alkion paikan lopussa olevan alkion kanssa, siirtymällä sisäänpäin ja toistamalla prosessi, kunnes saavutaan taulukon keskelle. Näin jokainen alkioiden pari vaihdetaan vain kerran ja kääntäminen tapahtuu tehokkaasti ilman, että tarvitaan ylimääräistä taulukkoa.
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 + " "); } } } }
Tämä koodiesimerkki havainnollistaa, kuinka luodaan uusi käännetty taulukko alkuperäisestä taulukosta muuttamatta alkuperäistä. Jokainen alkio kopioidaan alkuperäisestä taulukosta uuteen taulukkoon käänteisessä järjestyksessä. Tällä tavalla alkuperäinen taulukko säilyy muuttumattomana ja käytettävissä on erillinen käännetty versio.
1. Mikä on tärkein ero paikan päällä tehtävän käännön ja käännetyn kopion luomisen välillä?
2. Kuinka monta vaihtoa tarvitaan taulukon, jonka pituus on n, kääntämiseen?
3. Miksi alkuperäinen taulukko kannattaa säilyttää käännettäessä?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme