PHP Algorithm - Selection Sort

/**
 * The selection sort loop traverses the smallest selection each time
 *
 * @param Array $arr            
 */
function select_sort($arr, $tmp_arr = [])
{
    $count = count($arr);
    if ($count < 1)
        return $arr;
    $tmp = $arr[0];
    $key = 0;
    for ($i = 1; $i < $count; $i ++) {
        if ($tmp >= $arr[$i]) {
            $tmp = $arr[$i];
            $key = $i;
        }
    }
    unset($arr[$key]);
    $arr = array_values($arr);
    $_arr = array_merge($tmp_arr, [
        $tmp
    ]);
    $tmp_arr = select_sort($arr, $_arr);
    return array_merge([
        $tmp
    ], $tmp_arr);
}

 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326944969&siteId=291194637