PHP四种基础算法

1.冒泡算法

//冒泡排序
for($i=1;$i<$len;$i++){
	for($j=0;$j<$len-$i;$j++){
		if($arr[$j] > $arr[$j+1]){
			$tmp = $arr[$j];
			$arr[$j] = $arr[$j+1];
			$arr[$j+1] = $tmp;
		}
	}
}

2.选择排序

for($i=0;$i<$len;$i++){
	$p = $i;
	for($j=$i+1;$j<$len;$j++){
		if($arr[$p] > $arr[$j]){
			$p = $j;
		}
	}

	if($p != $i){
		$tmp = $arr[$i];
		$arr[$i] = $arr[$p];
		$arr[$p] = $tmp;
	}

}

3.插入排序

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

4.快速排序

function quickSort($arr){
	$tmp = $arr[0];
	
	$len = count($arr);

	$left = $right = [];

	for($i=1;$i<$len;$i++){
		if($arr[$i] < $tmp){
			$left[] = $arr[$i];
		}else{
			$right[] = $arr[$i];
		}
	}

	return array_merge($left.[$tmp].$right);
}

你可能感兴趣的:(PHP四种基础算法)