配列の反転
メニューを表示するにはスワイプしてください
配列の反転とは、要素の順序を逆にする操作であり、最初の要素が最後になり、2番目の要素が後ろから2番目になるなど、すべての要素の順序が反転します。この操作は、操作の取り消し、最近の項目を先に表示する場合、またはデータを逆順で処理する必要がある場合などに有用です。配列の反転方法を理解することで、C#プログラム内でデータをより柔軟に操作できます。
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 + " "); } } } }
上記のコードは、forループを使用して配列をその場で反転する方法を示しています。このアルゴリズムは、配列の先頭の要素と末尾の要素を入れ替え、内側に進みながらこの処理を配列の中央まで繰り返します。この方法により、各要素のペアは一度だけ入れ替えられ、追加の配列を用意することなく効率的に反転が完了します。
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 + " "); } } } }
このコードサンプルは、元の配列を変更せずに新しい逆順配列を作成する方法を示しています。元の配列の各要素を新しい配列に逆順でコピーします。この方法により、元の配列をそのまま保持しつつ、別に利用できる逆順配列を得ることができます。
1. インプレース反転と逆順コピーの主な違いは何ですか?
2. 長さ n の配列を反転するのに必要な入れ替え回数はいくつですか?
3. 配列を反転する際に元の配列を保持したい理由は何ですか?
すべて明確でしたか?
フィードバックありがとうございます!
セクション 3. 章 1
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 3. 章 1