php 快速排序
2023-06-10 23:00
PHP
96
0
0
0
标题录入
封面图
php 快速排序 以下是PHP中的快速排序算法的示例实现: php ``` <?php // 快速排序函数 function quickSort($arr) { // 如果数组长度小于等于1,则已排序 if (count($arr) <= 1) { return $arr; } // 选择一个基准元素 $pivot = $arr[0]; // 初始化左右子数组 $left = $right = array(); // 将元素分配到左右子数组 for ($i = 1; $i < count($arr); $i++) { if ($arr[$i] < $pivot) { $left[] = $arr[$i]; } else { $right[] = $arr[$i]; } } // 递归地对左右子数组进行快速排序 $sortedLeft = quickSort($left); $sortedRight = quickSort($right); // 合并左右子数组和基准元素 return array_merge($sortedLeft, array($pivot), $sortedRight); } // 测试示例 $array = array(5, 3, 8, 4, 2, 9, 1, 7, 6); $sortedArray = quickSort($array); // 输出排序结果 echo "排序后的数组:"; print_r($sortedArray); ?> ``` 上述代码定义了一个名为quickSort的函数,它采用递归方式实现快速排序算法。函数首先选择一个基准元素(这里使用第一个元素),然后将数组中的元素分配到左右两个子数组中,其中左子数组的元素小于基准元素,右子数组的元素大于等于基准元素。然后,递归地对左右子数组进行快速排序,最后将排序后的左子数组、基准元素和排序后的右子数组合并起来返回。 在测试示例中,创建一个待排序的数组$array,然后调用quickSort函数进行排序,并将结果存储在$sortedArray变量中。最后,使用print_r函数输出排序后的数组。 运行代码后,将得到按升序排序的数组输出。 请注意,快速排序算法的时间复杂度为O(n log n),是一种高效的排序算法,但在最坏情况下的时间复杂度可达O(n^2)。因此,在实际应用中,可能需要考虑其他排序算法,以获得更好的性能。
上一篇:
PHP操作目录(文件夹)的常用函数?
下一篇:
apache+mysql+php实现最大负载的方法
标题录入,一次不能超过6条
批判性思维
T:0.027396s,M:246.56 KB
返回顶部
留言
留言
评论