php 算法之选择排序算法

<?php
class Sort{

	// 数组排序--选择排序(从小到大)
	public function selectionSort($arr,$n)
	{
		$new_arr = [];
		for ($i=0; $i < $n; $i++) { 
			for ($j=$i; $j < $n; $j++) { 
				if ($arr[$j] < $arr[$i]) {
					$temp= $arr[$i];
					$arr[$i] = $arr[$j];
					$arr[$j] = $temp;
				}
			}
		}
		return $arr;


	}

	// 随机产生数组
	public function  out_array()
	{
		$arr =  [4,5,2,1,8,9,6,7,72,89,45,0];
		///$arr = ['d','f','h','o','q','s'];
		$n = count($arr);
		$result = $this->selectionSort($arr,$n);
		var_dump($result);
	}
}

$obj = New Sort();
$obj->out_array();
//$obj->out_array();
?>

结果为:

array(6) { [0]=> string(1) "d" [1]=> string(1) "f" [2]=> string(1) "h" [3]=> string(1) "o" [4]=> string(1) "q" [5]=> string(1) "s" }
array(12) { [0]=> int(0) [1]=> int(1) [2]=> int(2) [3]=> int(4) [4]=> int(5) [5]=> int(6) [6]=> int(7) [7]=> int(8) [8]=> int(9) [9]=> int(45) [10]=> int(72) [11]=> int(89) }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值