<?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中的冒泡排序算法,二是字符串处理,具体涉及了在GBK编码下的字符串截取方法。下面将详细展开这两个知识点。 ### 冒泡排序算法 冒泡排序是一种简单的排序算法。它...
│ └── Square.php Facebook面试题之判断四个点能否组成正方形算法 │ └── Prim.php Prim算法(最小生成树算法) │ └── CartesianProduct.php 笛卡尔积算法 │ └── Square.php 面试题之平面任意四点能否...
【腾讯校园招聘经典面试题详解】 1. **冒泡排序**:冒泡排序是一种简单的排序算法,通过重复遍历待排序的元素列表,比较相邻元素并根据需要交换位置,使得每一遍过后的最大(或最小)元素“浮”到数组的一端。改进...
14. **排序算法**:Java中常见的排序算法有冒泡排序、选择排序、插入排序、快速排序和归并排序。 15. **Servlet生命周期**:包括加载和初始化、服务、销毁三个阶段。 16. **垃圾回收**:Java自动进行垃圾回收,...
5. 排序与查找:排序算法如快速排序、归并排序,查找算法如二分查找,都在实际面试中经常出现。例如,"148. Sort List"要求对链表进行排序,可以使用归并排序的思路。 这个压缩包中的"196.awesome-algorithm-...
1. **冒泡排序算法**:这是一个经典的排序算法,适用于小规模数据的排序。其基本思想是通过比较相邻元素并交换位置,使较大的元素逐渐“冒”到数列的末尾。给定的伪代码实现了一个冒泡排序的例子,它遍历数组多次,...
本篇文章将深入探讨一些经典Python面试题中的基础知识。 1. 为什么学习Python? Python因其易读性强、代码量小、丰富的库支持以及跨平台特性而受到青睐。它在Web开发、数据分析、人工智能、自动化脚本等多个领域都...
在本压缩包“php-leetcode题解之删除排序链表中的重复元素.zip”中,包含的是关于使用PHP解决LeetCode算法问题的代码实现,主要针对的是“删除排序链表中的重复元素”这一经典题目。LeetCode是一个在线平台,提供...
这篇文档主要涵盖的是2015年各大知名互联网公司针对软件开发岗位的校园招聘笔试题目,包括了百度、阿里巴巴、网易、美团以及新浪微博这几家公司的面试题。这些笔试题是程序员在求职过程中可能会遇到的经典问题,反映...