算法的使用,在实例操作中还是不明显的,但是在面试中,那就是座上宾客,经常能在面试中被遇到,最常见的问题也是排序算法和查找算法,另外还有字符串的处理以及数组处理也是经常被问到的话题,下面就部分常见的算法的问题,给大家简单介绍这些常见的算法基本使用,大家可以补全学习哦~
1、快速排序
实例演示:
<?php function quickSort($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); return array_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 function bubbleSort($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 function getQuick($arr) { $len = count($arr); if ($len <= 1) { return $arr; } $num = $arr[0]; $big = array(); $small = array(); foreach ($arr as $v) { if ($v > $num) $big[] = $v; if ($v < $num) $small[] = $v; }
当然还有二分查找、优惠券排序等等,就几个常见的面试题,大家可以多了解上述内容进行学习哦~