どのように配列をランダムに削除して追加しますか? たとえば、配列1011100101の長さが10であり、ユニットが6で4個の場合、長さ10の配列を3単位と7個のゼロで取得するにはどうすればよいですか? または、配列100100000の長さが10で2単位と8個のゼロを持つ場合、長さ10の配列を5単位と5つのゼロで取得する方法はありますか?それは1つのユニットだけ(ない2以上)を追加したり、一つのユニットを削除ランダムに削除するか、配列にユニットを追加する
int units = array.getUnits();
if (units > P)
{
while (units != P)
{
int p = rnd.Next(units), pos = 0;
for (int i = 0; i < array.Length; i++)
{
if (array[i] == 1)
pos++;
if (pos == p)
{
array[p]=0;
break;
}
}
units--;
}
}
else if (units < P)
{
while (units != P)
{
int p = rnd.Next(array.Length-units),
pos = 0;
for (int i = 0; i < array.Length; i++)
{
if (array[i] == 0)
pos++;
if (pos == p)
{
array[p]=1;
break;
}
}
units++;
}
}
:私はこのような何かを試してみました。
使用一覧に戻って変換整数へ。途中で項目を挿入するのは、配列の方がはるかに難しいです。 –
jdweng