wakasann
4/20/2020 - 12:39 AM

快速排序

<?php

function findSmallest($arr){
	$keys = array_keys($arr);
	$smallest_index = $keys[0];
	$smallest = $arr[$smallest_index];
	
	$len = count($arr);
	if($len == 1){
		return $smallest_index;
	}
	foreach($arr as $key=>$value){
		if($value < $smallest && $key != $keys[0]){
			$smallest = $value;
			$smallest_index = $key;
		}
	}
	return $smallest_index;
}

function selectionSort($arr){
	
	$newArr = array();
	$len = count($arr);
	for($i = 0;$i < $len;$i++){
		//print_r($arr);
		$smallest = findSmallest($arr);
		$temp_value = $arr[$smallest];
		unset($arr[$smallest]);
		//print_r($arr);
		array_push($newArr,$temp_value);
	}
	return $newArr;
}

print_r(selectionSort(array(5,3,6,2,10)));