逻辑上将线性阵列分成两个圆形阵列

时间:2015-11-20 10:36:34

标签: java arrays

让我想出一个例子。 我有一群人(比如10号)。 男性可以占据0到4的指数,女性可以占据指数5到9。 我如何确保数组的后半部分(对于女性)是一个圆形数组。我该如何添加到此。

通常,对于循环我会这样做:

index = index % size;
people[index] = person;

如何确保阵列在每一半中分别为圆形?

1 个答案:

答案 0 :(得分:0)

您可以根据数组的大小简单地使用添加。如果你不知道确切的大小,但你知道比例,你可以做一些数学来得到它。

例如,如果数组中有x个人,一半是男性,一半是女性,你会做这样的事情:

menIndex = index % (array.length - (array.length / 2));
womenIndex = (index % array.length) + (array.length / 2);

menIndex检查索引是否超过整个数组的中间点。 womenIndex检查索引是否到达数组的末尾,然后将数组的一半值加回到数组的一半的开头

你真的应该使用2个单独的数组,如果你可以像上面的rupesh评论那样。