`
arist1213
  • 浏览: 3220 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论

PHP 快速排序 算法 经典面试题

阅读更多
<?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经典面试题

    ### PHP经典面试题详解 #### 1. PHP的含义及特点 **问题**: PHP是什么? **答案**: PHP 是一种开放源代码的服务器端脚本语言,特别适合于 Web 开发并可嵌入 HTML 中。PHP 的全称是 "PHP: Hypertext Preprocessor"...

    经典php冒泡排序面试题

    除了冒泡排序,代码中还展示了快速排序算法的实现。快速排序是一种高效的排序算法,采用分而治之的思想,通过一趟排序将待排记录分隔成独立的两部分,其中一部分的所有记录都比另一部分的所有记录小,然后分别对这两...

    50个优秀经典PHP算法大集合

    │ │ ├── QuickSort.php 快速排序 │ │ ├── ShuttleSort.php 飞梭排序 │ │ ├── ShellSort.php 希尔排序 │ │ ├── MergeSort.php 归并排序 │ │ ├── InsertSort.php 插入排序 │ │ └── ...

    腾讯校园招聘历年经典面试题汇总:后台开发岗1

    【腾讯校园招聘经典面试题详解】 1. **冒泡排序**:冒泡排序是一种简单的排序算法,通过重复遍历待排序的元素列表,比较相邻元素并根据需要交换位置,使得每一遍过后的最大(或最小)元素“浮”到数组的一端。改进...

    经典python面试题

    ### 经典Python面试题详解 #### 1. 为什么学习Python? - **简洁易读**:Python语法简单明了,降低了学习门槛。 - **应用广泛**:可用于Web开发、数据分析、人工智能等多个领域。 - **社区活跃**:拥有庞大的...

    Java经典理论面试100题.pdf

    14. **排序算法**:Java中常见的排序算法有冒泡排序、选择排序、插入排序、快速排序和归并排序。 15. **Servlet生命周期**:包括加载和初始化、服务、销毁三个阶段。 16. **垃圾回收**:Java自动进行垃圾回收,...

    LeetCode,《剑指offer》中的算法题的题目和解法以及常见算法的实现

    5. 排序与查找:排序算法如快速排序、归并排序,查找算法如二分查找,都在实际面试中经常出现。例如,"148. Sort List"要求对链表进行排序,可以使用归并排序的思路。 这个压缩包中的"196.awesome-algorithm-...

    2015软件开发校招笔试题(百度、阿里、网易、美团、新浪微博

    1. 算法:常见包括排序、搜索、图论问题,如快速排序、二分查找、最小生成树等。 2. 数据结构:链表、栈、队列、树、图等基本数据结构的应用。 3. 操作系统:进程与线程管理、内存管理、I/O模型等。 4. 网络:TCP/IP...

Global site tag (gtag.js) - Google Analytics