算法的使用,在实例操作中还是不明显的,但是在面试中,那就是座上宾客,经常能在面试中被遇到,最常见的问题也是排序算法和查找算法,另外还有字符串的处理以及数组处理也是经常被问到的话题,下面就部分常见的算法的问题,给大家简单介绍这些常见的算法基本使用,大家可以补全学习哦~
1、快速排序
实例演示:
<?php functionquickSort($arr) { $count=count($arr); if($count<=1){ return$arr; } $index=$arr[0]; $left=[]; $right=[]; for($i=1;$i<$count;$i++){ if($arr[$i]<$index){ $left[]=$arr[$i]; }else{ $right[]=$arr[$i]; } } $left=quickSort($left); $right=quickSort($right); returnarray_merge($left,[$arr[0]],$right); } $arrtest=[12,43,54,33,23,14,44,53,10,3,56]; $res=quickSort($arrtest); var_dump($res);
2、冒泡排序
<?php functionbubbleSort($arr) { $count=count($arr); for($i=1;$i<$count;$i++){ for($j=0;$j<$count-$i;$j++){ if($arr[$j]>$arr[$j+1]){ $temp=$arr[$j]; $arr[$j]=$arr[$j+1]; $arr[$j+1]=$temp; }
3、快速查找
<?php functiongetQuick($arr) { $len=count($arr); if($len<=1){ return$arr; } $num=$arr[0]; $big=array(); $small=array(); foreach($arras$v){ if($v>$num) $big[]=$v; if($v<$num) $small[]=$v; }