对一组数字排序,最大的放第一位,最小的放第二位,第二大的放第三位,第二小的放第四位,依次类推

来源:互联网 发布:美工接单平台 编辑:程序博客网 时间:2024/06/05 09:31
$arr = array(1,7,3,10,5,6,2,8,9,4);$arr_len = count($arr);for ($i = 1; $i < $arr_len; $i++)//大循环数组长度-1次{    if ($i%2 == 1)//根据次数判断取最大还是最小    {        for ($start_index = $i - 1,$max_index = $start_index,$j = 1; $j <= $arr_len - $i; $j++)//小循环次数        {            $current_index = $start_index + $j;            if ($arr[$max_index] < $arr[$current_index])            {                $max_index = $current_index;            }        }        if ($max_index != $start_index)        {            $max_value = $arr[$max_index];            $arr[$max_index] = $arr[$start_index];            $arr[$start_index] = $max_value;        }    }    else    {        for ($start_index = $i - 1,$max_index = $start_index,$j = 1; $j <= $arr_len - $i; $j++)//小循环次数        {            $current_index = $start_index + $j;            if ($arr[$max_index] > $arr[$current_index])            {                $max_index = $current_index;            }        }        if ($max_index != $start_index)        {            $max_value = $arr[$max_index];            $arr[$max_index] = $arr[$start_index];            $arr[$start_index] = $max_value;        }    }     } print_r($arr);
原创粉丝点击