我有一个2D数组,我想用b和c值初始化,这样50%的单元格是a,25%b和25%c。你能建议我这样做吗?
编辑:我找到了一个可以适应2D阵列的一维数组解决方案(我确定性地初始化然后改组):Shuffle array in C有更好的方法吗?
答案 0 :(得分:0)
首先,根据比例用a,b,c填充2D数组,然后将数组洗牌。
int size_a = size * 50%;
int size_b = size * 25%;
int size_c = size * 25%;
int i;
for(i = 0; i < size_a; ++i)
{
A[i/WIDTH][i%WIDTH] = a;
}
...
和其他人一样。
然后使用从链接获得的shuffle
(在c ++中,我们有std::shuffle
),同时将2D数组映射到1D数组。