整数から数値配列への効率的な変換方法
整数を 1 桁の数値の配列に変換することは、プログラミングにおける一般的なタスクです。文字列の変換と反復を使用する従来のアプローチはシンプルですが、数値が大きい場合は非効率的です。ここでは効率的な変換方法をいくつか紹介します。
再帰メソッド
1 つの方法は、再帰を使用して整数をより小さな部分に分割することです。次の C# コードは、このアプローチを示しています。
<code class="language-c#">public Stack<int> NumbersIn(int value) { if (value == 0) return new Stack<int>(); var numbers = NumbersIn(value / 10); numbers.Push(value % 10); return numbers; } var numbers = NumbersIn(987654321).ToArray();</code>
非再帰スタックメソッド
スタックを使用した非再帰バージョンも実装できます:
<code class="language-c#">public int[] NumbersIn(int value) { var numbers = new Stack<int>(); for (; value > 0; value /= 10) numbers.Push(value % 10); return numbers.ToArray(); }</code>
直接配列方式
もう 1 つの効率的な方法は、直接配列操作を使用することです。
<code class="language-c#">private static int[] NumbersIn(int value) { if (value == 0) { return new[] { 0 }; // C# 12 集合表达式 } value = Math.Abs(value); var digits = 1 + (int)Math.Log10(value); var buffer = new int[digits]; for (var counter = 0; counter < digits; counter++) { buffer[counter] = value % 10; value /= 10; } Array.Reverse(buffer); return buffer; }</code>
これらの効率的なメソッドは、整数を 1 桁の配列に変換するための高速かつメモリ効率の高い方法を提供し、さまざまなプログラミング タスクで貴重なツールとなります。
以上が整数をその数字の配列に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。