用php实现选择排序(简单排序)算法
2017-03-12 12:35
246 查看
用php实现选择排序(简单排序)算法
选择排序算法的原理其实很简单,就是从头开始选定一个位置,令该位置上的数与其他位置上的数进行比对,将该位置上的与更小位置上的数进行交换,从而实现排序。<?php /** * Created by PhpStorm. * User: user * Date: 03/03/2017 * Time: 11:33 */ /* * 2.简单选择排序 * swap函数在数组$arr之前加了&, * 代表其地址,这样可以省去return * 来返回值,代码更加简洁 * 原理见:http://blog.csdn.net/baidu_30000217/article/details/53071856 */ function swap(array &$arr, $a, $b){ $temp = $arr[$a]; $arr[$a] = $arr[$b]; $arr[$b] = $temp; } function selectSort(array &$arr){ $count = count($arr); for ($i = 0; $i < $count; $i++){ $min = $i; for ($j = $i + 1; $j < $count; $j++){ if ($arr[$min] > $arr[$j]){ $min = $j; } } if ($min != $j){ swap($arr, $min, $i); } } } $arr = array(9, 1, 5, 8, 3, 7, 4, 6, 2); selectSort($arr); echo "<pre>"; print_r($arr); echo "</pre>"; ?>
相关文章推荐
- 内部排序冒泡排序、插入排序、选择排序、快速排序的算法和PHP实现
- 图解算法练习--选择排序(PHP实现)
- 每日一算法之选择排序原理及实现
- 冒泡排序、选择排序、插入排序 算法实现(C++)
- python算法--置换选择排序详细实现
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 下标注意【算法】冒泡排序与选择排序的递归实现
- 快速排序 php实现 算法学习
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 算法导论之插入排序,选择排序,归并排序,冒泡排序,希尔排序,堆排序,快速排序的c语言实现
- 怎样编写一个程序,把一个有序整数数组放到二叉树中? 编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?
- PHP数据结构基本算法一:矩阵转置 求素数 冒泡排序 选择排序
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 数据结构与算法——三种基础排序算法C#实现(冒泡排序、选择排序、插入排序)
- 用php实现选择排序的解决方法
- 选择排序的php实现
- 几种常用的排序算法:插入排序、冒泡排序、选择排序的算法及C++实现
- 用JAVA实现排序算法之三:直接选择排序
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 基本算法简单实现-二分法查找、合并排序、冒泡排序、插入排序、选择排序、快速排序