算法整理

Posted mengzhilva

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法整理相关的知识,希望对你有一定的参考价值。

1.冒泡排序

$arr = array(5,2,6,2,3,1);
for($i=0;$i<count($arr);$i++){
for($j=count($arr);$j>$i;$j--){
if($arr[$i]>$arr[$j-1]){
$b = $arr[$i];
$arr[$i] = $arr[$j-1];
$arr[$j-1] = $b;
}
}
}

快速排序,

取一个值,比他大的放一边,小的放一边,再取一个值,同样对比。递归

function kspx($arr){
//快速排序
$num = count($arr);
$jz = $arr[$num-1];
if($num<=1){
return $arr;
}else{
$arrs = array();
$arrss = array();
for($i=0;$i<$num-1;$i++){
if($arr[$i]>$jz){
$arrs[] = $arr[$i];
}else{
$arrss[] = $arr[$i];
}
}
$x = array();
$d = array();
if($arrs){
$d = kspx($arrs);
}
if($arrss){
$x = kspx($arrss);
}
return array_merge($d,array($jz),$x);
}
}
$arr = array(8,5,6,1,2,3,4,15,6,31,25,7);
$res = kspx($arr);
var_dump($res);

 

 

 ,不用第三个变量替换两个值

$a = "This is A"; // a变量原始值
$b = "This is B"; // b变量原始值
echo ‘交换之前 $a 的值:‘.$a.‘, $b 的值:‘.$b,‘<br>‘; // 输出原始值
list($b,$a) = array($a,$b); // list() 函数用数组中的元素为一组变量赋值。了解这个,相信其他的不用我多说了吧
echo ‘交换之后 $a 的值:‘.$a.‘, $b 的值:‘.$b,‘<br>‘; // 输出结果值

以上是关于算法整理的主要内容,如果未能解决你的问题,请参考以下文章

小程序各种功能代码片段整理---持续更新

常用python日期日志获取内容循环的代码片段

以下代码片段的算法复杂度

有人可以解释啥是 SVN 平分算法吗?理论上和通过代码片段[重复]

片段(Java) | 机试题+算法思路+考点+代码解析 2023

最全最详细publiccms常用的代码片段