つまり、FOR を使用して Index 配列を 1 つずつ取得しますが、速度が遅すぎます。そうしないと、文字列に変換されますか? それはより速く去りますか?
私の場合は、ShortInt の動的配列になります。
たとえば、次の入力があるとします。
[0,20,-15]
次の出力が必要です。
0,20,-15
つまり、FOR を使用して Index 配列を 1 つずつ取得しますが、速度が遅すぎます。そうしないと、文字列に変換されますか? それはより速く去りますか?
私の場合は、ShortInt の動的配列になります。
たとえば、次の入力があるとします。
[0,20,-15]
次の出力が必要です。
0,20,-15
文字列の不必要な再割り当てを実行しているため、コードが遅いと思われます。ただし、コードを確認しないと、確認するのは困難です。
おそらく、アルゴリズムをコーディングする最も簡単な方法は、 を使用することTStringBuilder
です。それで十分なパフォーマンスが得られるかどうかは、あなたにしか言えません。
sb := TStringBuilder.Create;
try
for i := 0 to high(buffer) do
begin
sb.Append(IntToStr(buffer[i]));
if i<high(buffer) then
sb.Append(',');
end;
str := sb.ToString;
finally
sb.Free;
end;