用php实现选择排序的解决方法


Posted in PHP onMay 04, 2013

1,定义:选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

参考代码:

<?php
    //选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。    function selectSort(&$arr){
        //定义进行交换的变量
        $temp=0;
        for($i=0;$i<count($arr)-1;$i++){
            //假设$i就是最小值
            $valmin=$arr[$i];
            //记录最小值的下标
            $minkey=$i;
            for($j=$i+1;$j<count($arr);$j++){
                //最小值大于后面的数就进行交换    
                if($valmin>$arr[$j]){
                    $valmin=$arr[$j];
                    $minkey=$j;
                }
            }
            //进行交换
            $temp=$arr[$i];
            $arr[$i]=$arr[$minkey];
            $arr[$minkey]=$temp;
        }
    } 
    $arr=array(7,5,0,4,-1);
    selectSort($arr);
    print_r($arr);

?>
PHP 相关文章推荐
用PHP和ACCESS写聊天室(六)
Oct 09 PHP
第八节--访问方式
Nov 16 PHP
PHP-MySQL教程归纳总结
Jun 07 PHP
Windows下安装Memcached的步骤说明
Apr 25 PHP
php+js iframe实现上传头像界面无跳转
Apr 29 PHP
PHP实现CSV文件的导入和导出类
Mar 24 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
Jun 13 PHP
Laravel Memcached缓存驱动的配置与应用方法分析
Oct 08 PHP
ZendFramework框架实现连接两个或多个数据库的方法
Dec 08 PHP
Laravel框架实现的批量删除功能示例
Jan 16 PHP
YII2框架中actions的作用与使用方法示例
Mar 13 PHP
PHP操作Redis常用命令的实例详解
Dec 23 PHP
基于PHP 面向对象之成员方法详解
May 04 #PHP
php中判断数组是一维,二维,还是多维的解决方法
May 04 #PHP
PHP命名空间(Namespace)的使用详解
May 04 #PHP
PHP更新购物车数量(表单部分/PHP处理部分)
May 03 #PHP
基于php验证码函数的使用示例
May 03 #PHP
基于MySQL体系结构的分析
May 02 #PHP
PHP程序级守护进程的实现与优化的使用概述
May 02 #PHP
You might like
解析PHP对现有搜索引擎的调用
2013/06/25 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
2014/06/23 PHP
php使用递归计算文件夹大小
2014/12/24 PHP
php 参数过滤、数据过滤详解
2015/10/26 PHP
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
javascript几个易错点记录
2014/11/26 Javascript
jquery实现炫酷的叠加层自动切换特效
2015/02/01 Javascript
EasyUI实现第二层弹出框的方法
2015/03/01 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
jquery mobile界面数据刷新的实现方法
2016/05/28 Javascript
js实现精确到秒的倒计时效果
2016/05/29 Javascript
Vue引入jquery实现平滑滚动到指定位置
2018/05/09 jQuery
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
React 组件渲染和更新的实现代码示例
2019/02/21 Javascript
[46:12]完美世界DOTA2联赛循环赛 DM vs Matador BO2第一场 11.04
2020/11/04 DOTA
python自动安装pip
2014/04/24 Python
在Django的session中使用User对象的方法
2015/07/23 Python
详解Python中使用base64模块来处理base64编码的方法
2016/07/01 Python
详谈python read readline readlines的区别
2017/09/22 Python
python消除序列的重复值并保持顺序不变的实例
2018/11/08 Python
python虚拟环境完美部署教程
2019/08/06 Python
opencv 获取rtsp流媒体视频的实现方法
2019/08/23 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
python爬虫实现获取下一页代码
2020/03/13 Python
打印tensorflow恢复模型中所有变量与操作节点方式
2020/05/26 Python
python 通过文件夹导入包的操作
2020/06/01 Python
Python调用jar包方法实现过程解析
2020/08/11 Python
英国最好的温室之家:Greenhouses Direct
2019/07/13 全球购物
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
杭州龙健科技笔试题.net部分笔试题
2016/01/24 面试题
关于递归的一道.NET面试题
2013/05/12 面试题
平面网站制作专科生的自我评价分享
2013/12/11 职场文书
调研汇报材料范文
2014/08/17 职场文书
中秋节祝酒词
2015/08/12 职场文书
Go语言切片前或中间插入项与内置copy()函数详解
2021/04/27 Golang
PO模式在selenium自动化测试框架的优势
2022/03/20 Python