我有这个数组:
$array = array(a, b, c, d, e, f, g);
我想根据索引是偶数还是奇数将其分为两个数组,如下所示:
$odd = array(a, c, e, g);
$even = array(b, d, f);
提前致谢!
一种解决方案,使用匿名函数和array_walk
:
$odd = array();
$even = array();
$both = array(&$even, &$odd);
array_walk($array, function($v, $k) use ($both) { $both[$k % 2][] = $v; });
这样就可以将数组中的项一次分离出来,但是有点“聪明”。确实没有比经典的,更冗长的更好
$odd = array();
$even = array();
foreach ($array as $k => $v) {
if ($k % 2 == 0) {
$even[] = $v;
}
else {
$odd[] = $v;
}
}
问题内容: 给定一个整数数组,您需要将数组中的奇数和偶数分开。 请注意:元素的顺序可以更改。 例如: 问题答案: 让我们说数组是 初始化两个索引变量, 和 增加左变量直到你得到奇数 递减右边的变量,直到你得到偶数。 如果 ,交换 和 最后,您会看到左侧有偶数,右侧有奇数。 用于分隔数组中奇数和偶数的 Java 代码: 当你运行上面的程序时,你会得到以下输出:
我们有一个偶数放置排序和奇数放置排序的数组,这意味着偶数索引的子数组被排序,奇数索引的子数组被排序。例如-{1,4,2,7,4,18,5,19,20}两个排序的子数组是{1,2,4,5,20}和{4,7,18,19}-一组有偶数索引,另一组有奇数索引。有没有一种方法可以用O(1)空间复杂度和O(n)时间对整个数组进行排序?
我有一个布尔方法的麻烦,我想检查数组是偶数,奇数,还是两者都不是。我输入数组大小和数组值,但是“isArrayEven”方法仍然输出“array中的所有数字都是偶数”,即使我的数组是1、2、3并且isArrayEven假定是false。 我
我想求两个整数之间的偶数奇偶数的个数。以下是我目前所写的内容: 这个很管用。但是,和这两个整数之间的差值可能高达,这意味着类似这样的解决方案是行不通的。是否有一个更有效的,即解决方案来解决这个问题?
问题内容: 我在此站点上看到了此代码。它使用一种方法来对数组进行排序,其中偶数排在数组的前面,而奇数排在数组的后面。我想知道您是否可以做同样的事情,除了先显示奇数,然后再显示偶数?我试过了,但无济于事。我是Java编程的新手,我想测试递归。 } 输出是这样的: 问题答案: 好吧,如果你想单号是第一位的,取代任何与任何带:
问题内容: 我有一系列元素。我还有一个IndexSet,它指定需要将数组的哪些索引提取到新数组中。例如: 我正在寻找使用swift 函数的方法,但是还没有答案。我怎样才能做到这一点? 问题答案: 是递增整数的集合,因此可以 将 每个索引 映射 到相应的数组元素: 假定所有索引对于给定数组均有效。如果不能保证,则可以过滤索引(如@dfri正确标记):