<?php $unsorted = array(); for ($i = 0; $i < 10; $i++) { $unsorted[] = rand(0,1000); } print "Unsorted Array. <br />"; print implode(',', $unsorted); print "<br />"; print "Sorted Array. <br />"; $sort = quick_sort($unsorted); print implode(',',$sort); function quick_sort($arr = array()) { $size = count($arr); if (is_array($arr) && ($size == 0 || $size == 1)) return $arr; $k = $arr[0]; $less = array(); $great = array(); // 通过比较 k 来分隔为2个数组,1个比 k的值大,另一个比k小 for($i=$size; --$i;) { if ($arr[$i] <= $k) { $less[] = $arr[$i]; } else { $great[] = $arr[$i]; } } // 2个递归调用 return array_merge(quick_sort($less),array($k),quick_sort($great)); }
相关推荐
### PHP经典面试题详解 #### 1. PHP的含义及特点 **问题**: PHP是什么? **答案**: PHP 是一种开放源代码的服务器端脚本语言,特别适合于 Web 开发并可嵌入 HTML 中。PHP 的全称是 "PHP: Hypertext Preprocessor"...
除了冒泡排序,代码中还展示了快速排序算法的实现。快速排序是一种高效的排序算法,采用分而治之的思想,通过一趟排序将待排记录分隔成独立的两部分,其中一部分的所有记录都比另一部分的所有记录小,然后分别对这两...
│ │ ├── QuickSort.php 快速排序 │ │ ├── ShuttleSort.php 飞梭排序 │ │ ├── ShellSort.php 希尔排序 │ │ ├── MergeSort.php 归并排序 │ │ ├── InsertSort.php 插入排序 │ │ └── ...
【腾讯校园招聘经典面试题详解】 1. **冒泡排序**:冒泡排序是一种简单的排序算法,通过重复遍历待排序的元素列表,比较相邻元素并根据需要交换位置,使得每一遍过后的最大(或最小)元素“浮”到数组的一端。改进...
### 经典Python面试题详解 #### 1. 为什么学习Python? - **简洁易读**:Python语法简单明了,降低了学习门槛。 - **应用广泛**:可用于Web开发、数据分析、人工智能等多个领域。 - **社区活跃**:拥有庞大的...
14. **排序算法**:Java中常见的排序算法有冒泡排序、选择排序、插入排序、快速排序和归并排序。 15. **Servlet生命周期**:包括加载和初始化、服务、销毁三个阶段。 16. **垃圾回收**:Java自动进行垃圾回收,...
5. 排序与查找:排序算法如快速排序、归并排序,查找算法如二分查找,都在实际面试中经常出现。例如,"148. Sort List"要求对链表进行排序,可以使用归并排序的思路。 这个压缩包中的"196.awesome-algorithm-...
1. 算法:常见包括排序、搜索、图论问题,如快速排序、二分查找、最小生成树等。 2. 数据结构:链表、栈、队列、树、图等基本数据结构的应用。 3. 操作系统:进程与线程管理、内存管理、I/O模型等。 4. 网络:TCP/IP...