php教程自学网 - 轻松零基础学php视频教程
条幅广告
当前位置: 主页 > PHP学堂 >

PHP如何实现选择排序?

时间:2019-03-21 18:58来源:未知 作者:admin 点击:
选择排序在冒泡排序的基础上进行了改进,每次通过列表时只进行一次传递交换。简单来说,选择排序的原理就是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在
选择排序在冒泡排序的基础上进行了改进,每次通过列表时只进行一次传递交换。简单来说,选择排序的原理就是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。
 
 
PHP选择排序的代码示例如下:
 
<?php
 
 
 
function selection_sort($data)
 
{
 
    for($i=0; $i<count($data)-1; $i++) {
 
        $min = $i;
 
        for($j=$i+1; $j<count($data); $j++) {
 
            if ($data[$j]<$data[$min]) {
 
                $min = $j;
 
            }
 
        }
 
        $data = swap_positions($data, $i, $min);
 
    }
 
    return $data;
 
}
 
 
 
function swap_positions($data1, $left, $right) {
 
    $backup_old_data_right_value = $data1[$right];
 
    $data1[$right] = $data1[$left];
 
    $data1[$left] = $backup_old_data_right_value;
 
    return $data1;
 
}
 
$my_array = array(3, 0, 2, 5, -1, 4, 1);
 
echo "原始数组:\n";
 
echo implode(', ',$my_array );
 
echo "\n排序后数组:\n";
 
echo implode(', ',selection_sort($my_array)). PHP_EOL;
 
输出:
 
 
 
原始数组: 3, 0, 2, 5, -1, 4, 1 
 
排序后数组: -1, 0, 1, 2, 3, 4, 5
(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
相关推荐
猜你喜欢