Покажите несколько алгоритмов сортировки на PHP

Пожалуйста:

//Bubble Sorting
function bubbleSort(array $arr) { 
    $count = count($arr);
    if ($count <= 1) {
        return $arr;
    }

    for ($i = 0; $i < $count; $i++) {                
        for ($j = $count - 1; $j > $i; $j--) {
            if ($arr[$j] < $arr[$j - 1]) {
                $tmp = $arr[$j];
                $arr[$j] = $arr[$j - 1];
                $arr[$j - 1] = $tmp;
            }
        }
    }
    
    return $arr;
} 

//Insert Sorting
function insertSort(array $arr) {
    $count = count($arr);
    if ($count <= 1) {
        return $arr;
    }

    for ($i = 1; $i < $count; $i++) {
        $cur_val = $arr[$i];
        $j = $i - 1;
        
        while (isset($arr[$j]) && $arr[$j] > $cur_val) {
            $arr[$j + 1] = $arr[$j];
            $arr[$j] = $cur_val;
            $j--;
        }
    }
    
    return $arr;
}

//Merge Sorting
function mergeSort(array $arr) {
    $count = count($arr);
    if ($count <= 1) {
        return $arr;
    }

    $left  = array_slice($arr, 0, (int)($count/2));
    $right = array_slice($arr, (int)($count/2));
    
    $left = mergeSort($left);
    $right = mergeSort($right);

    return merge($left, $right);
}

function merge(array $left, array $right) {
    $ret = array();
    while (count($left) > 0 && count($right) > 0) {
        if ($left[0] < $right[0]) {
            array_push($ret, array_shift($left));
        } else {
            array_push($ret, array_shift($right));
        }
    }
    
    array_splice($ret, count($ret), 0, $left);
    array_splice($ret, count($ret), 0, $right);
    
    return $ret;
}

//Quick Sorting
function quickSort(array $arr) {
    $count= count($arr);  
    if ($count <= 1) {
        return $arr;
    }

    $first_val = $arr[0];
    $left_arr = array();
    $right_arr = array();
    
    for ($i = 1; $i < $count; $i++) {
        if ($arr[$i] <= $first_val) {
            $left_arr[] = $arr[$i];
        } else {
            $right_arr[] = $arr[$i];
        }
    }

    $left_arr = quickSort($left_arr);
    $right_arr = quickSort($right_arr);

    return array_merge($left_arr, array($first_val), $right_arr);
}

//Select Sorting
function selectSort(array $arr) {
    $count= count($arr);
    if ($count <= 1){  
        return $arr;
    }
    
    for ($i = 0; $i < $count; $i++){  
        $k = $i;
        
        for($j = $i + 1; $j < $count; $j++){  
            if ($arr[$k] > $arr[$j]){
                $k = $j;
            }
            
            if ($k != $i){  
                $tmp = $arr[$i];  
                $arr[$i] = $arr[$k];  
                $arr[$k] = $tmp;  
            }  
        }
    }
    
    return $arr;  
}