+ -
当前位置:首页 → 问答吧 → 面试题,求解

面试题,求解

时间:2011-11-01

来源:互联网

一数组 $target = array(23,43,87,12,34,46,90,42,9,3);要求对其进行排序,最终的顺序是 第一个是最大的,第二个是最小的,第三个是剩下的最大的,第四个是剩下的最小的,依次类推。

作者: yeyubo541   发布时间: 2011-11-01

<?

$target = array(23,43,87,12,34,46,90,42,9,3);
sort($target);
for ($i=0;$i<5;$i++)
{
$big=9-$i;
echo $target[$big] . "<br/>";
echo $target[$i] . "<br/>";
}
?>

作者: sanxian_li   发布时间: 2011-11-01

先将它升序排列,就是从小到大排列。那么他们的主键的数字索引分别是0,1,2,3,····7,8,9一个十个。主键数字越大的对应的数值也越大。所以现在的主键目标位置是:9,0,8,1,7,2,6,3,5,4.
因为9+0=8+1=7+2等等所以按两组为一次输出。$big+$i=9.
下面的就不说了。我也是一个小白,这段时间学了点。错的大家再交流。一起进步

作者: sanxian_li   发布时间: 2011-11-01

修改一下啊。

<?

$target = array(23,43,87,12,34,46,90,42,9,3);
sort($target);
$sum=count($target)-1;//键位数
echo $sum;
for ($i=0;$i<5;$i++)
{
$big=$sum-$i;
echo $target[$big] . "<br/>";
echo $target[$i] . "<br/>";
}
?>

作者: sanxian_li   发布时间: 2011-11-01

引用 3 楼 sanxian_li 的回复:

修改一下啊。

<?

$target = array(23,43,87,12,34,46,90,42,9,3);
sort($target);
$sum=count($target)-1;//键位数
echo $sum;
for ($i=0;$i<5;$i++)
{
$big=$sum-$i;
echo $target[$big] . "<br/>";
echo $ta……


这里的5应该计算出来

作者: helloyou0   发布时间: 2011-11-02

相关阅读 更多