php算法---选择和冒泡

<?php 
//冒泡写法
$bubb = function($arr) {
	if(is_array($arr)) {
		$len = count($arr);
		for($i = 0 ;$i < $len;$i++) {
			for($j = $len -1;$j > 0;$j--) {
				if($arr[$j] < $arr[$j-1]) {
					$temp = $arr[$j];
					$arr[$j] = $arr[$j-1];
					$arr[$j-1] = $temp;
				}
			}
		}
		return $arr;
	}else{
		return false;
	}
};
//选择排序
function xuanze($arr) {
	$smallCont = $arr[0];
	$smallCont_index = 0;
	for($i = 0;$i < count($arr);$i++){
		if($arr[$i] < $smallCont) {
			$smallCont = $arr[$i];
			$smallCont_index = $i;
		};
	};
	return $smallCont_index;
};

$paixu = function($arr) {
	$new_cont = array();
	$len = count($arr);
	for($i = 0;$i < $len;$i++) {
		$index =  xuanze($arr);
		array_push($new_cont, $arr[$index]);
		unset($arr[$index]);
		$arr = array_merge($arr);//重新排序key
	};
	return $new_cont;
};
$arr = ['7','3','5','25','67','1','36'];
echo '<pre>';
print_r($bubb($arr));
echo '<br />';
print_r($paixu($arr));

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值