早教吧 育儿知识 作业答案 考试题库 百科 知识分享

有一堆数字,12,65,110,2,3,55,79,10,45等很多数字并且没有重复的,要求是:输出第一个数是最大的,第二个数是最小的,第三个数是第二大,第四个数是第二小...一次类推.怎么能实现!

题目详情
有一堆数字,12,65,110,2,3,55,79,10,45等很多数字并且没有重复的,要求是:输出第一个数是最大的,第二个数是最小的 ,第三个数是第二大,第四个数是第二小...一次类推.怎么能实现!
▼优质解答
答案和解析
$testarr= array(12,65,110,2,3,55,79,10,45,200);
sort($testarr);
$count=0;
$issingle = count($testarr) % 2 ;
foreach($testarr as $key => $value ){
$result[] = $testarr[count($testarr)-1-$count];
if($issingle && $count+1 > ceil(count($testarr)/2)-1)break;
$result[] = $testarr[$count];
$count++;
if(!$issingle && $count+1 > ceil(count($testarr)/2))break;
}
print_r($result);
?>
看了 有一堆数字,12,65,11...的网友还看了以下: