`
arist1213
  • 浏览: 3219 次
  • 性别: 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 = select_sort($unsorted);
print implode(',',$sort);

/**
	selection sort
	1. 找到数组最小的数
	2. 与第一个数交换
	3. 重复余下的元素
*/
function select_sort ($arr = array()) {
	$min = false;
	$n = count($arr);
	
	for ($i = 0; $i < $n; $i++) {
		$min = $i;
		for ($j = $i + 1; $j < $n; $j++) {
			if ($arr[$j] < $arr[$min]) {
				$min = $j;
			}									
		}
		// $tmp = $arr[$min];  
		// $arr[$min] = $arr[$i];  
		// $arr[$i] = $tmp; 
		list($arr[$min],$arr[$i]) = array($arr[$i],$arr[$min]);
	}

	return $arr;
	
}

 

分享到:
评论

相关推荐

    经典php冒泡排序面试题

    标题与描述中的知识点主要聚焦在两个方面:一是PHP中的冒泡排序算法,二是字符串处理,具体涉及了在GBK编码下的字符串截取方法。下面将详细展开这两个知识点。 ### 冒泡排序算法 冒泡排序是一种简单的排序算法。它...

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

    │ └── Square.php Facebook面试题之判断四个点能否组成正方形算法 │ └── Prim.php Prim算法(最小生成树算法) │ └── CartesianProduct.php 笛卡尔积算法 │ └── Square.php 面试题之平面任意四点能否...

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

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

    Java经典理论面试100题.pdf

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

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

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

    第12套PHP面试题1

    1. **冒泡排序算法**:这是一个经典的排序算法,适用于小规模数据的排序。其基本思想是通过比较相邻元素并交换位置,使较大的元素逐渐“冒”到数列的末尾。给定的伪代码实现了一个冒泡排序的例子,它遍历数组多次,...

    经典Python面试题之Python基础篇.docx

    本篇文章将深入探讨一些经典Python面试题中的基础知识。 1. 为什么学习Python? Python因其易读性强、代码量小、丰富的库支持以及跨平台特性而受到青睐。它在Web开发、数据分析、人工智能、自动化脚本等多个领域都...

    php-leetcode题解之删除排序链表中的重复元素.zip

    在本压缩包“php-leetcode题解之删除排序链表中的重复元素.zip”中,包含的是关于使用PHP解决LeetCode算法问题的代码实现,主要针对的是“删除排序链表中的重复元素”这一经典题目。LeetCode是一个在线平台,提供...

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

    这篇文档主要涵盖的是2015年各大知名互联网公司针对软件开发岗位的校园招聘笔试题目,包括了百度、阿里巴巴、网易、美团以及新浪微博这几家公司的面试题。这些笔试题是程序员在求职过程中可能会遇到的经典问题,反映...

Global site tag (gtag.js) - Google Analytics