当前位置:Gxlcms > PHP教程 > PHP如何实现选择排序?

PHP如何实现选择排序?

时间:2021-07-01 10:21:17 帮助过:37人阅读

选择排序在冒泡排序的基础上进行了改进,每次通过列表时只进行一次传递交换。简单来说,选择排序的原理就是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。

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

本篇文章就是关于PHP选择排序的实现方法介绍,希望对需要的朋友有所帮助!

以上就是PHP如何实现选择排序?的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行