用php實現(xiàn)選擇排序的解決方法
1,定義:選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再從剩余未排序元素中繼續(xù)尋找最?。ù螅┰?,然后放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。
參考代碼:
<?php
//選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理如下。首先在未排序序列中找到最?。ù螅┰?,存放到排序序列的起始位置,然后,再從剩余未排序元素中繼續(xù)尋找最小(大)元素,然后放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。
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++){
//最小值大于后面的數(shù)就進行交換
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數(shù)據(jù)結(jié)構(gòu) 算法(PHP描述) 簡單選擇排序 simple selection sort
- PHP簡單選擇排序算法實例
- PHP簡單選擇排序(Simple Selection Sort)算法學習
- php選擇排序法實現(xiàn)數(shù)組排序?qū)嵗治?/a>
- PHP排序算法系列之直接選擇排序詳解
- PHP 快速排序算法詳解
- PHP 冒泡排序算法的實現(xiàn)代碼
- PHP 冒泡排序 二分查找 順序查找 二維數(shù)組排序算法函數(shù)的詳解
- php實現(xiàn)的常見排序算法匯總
- 排序算法之PHP版快速排序、冒泡排序
- PHP排序算法之簡單選擇排序(Simple Selection Sort)實例分析
相關文章
ThinkPHP連接數(shù)據(jù)庫操作示例【基于DSN方式和數(shù)組傳參的方式】
這篇文章主要介紹了ThinkPHP連接數(shù)據(jù)庫操作,結(jié)合實例形式分析了thinkPHP基于DSN方式和數(shù)組傳參的方式進行數(shù)據(jù)庫連接的實現(xiàn)步驟與屬性設置、控制器、模板使用等相關操作技巧,需要的朋友可以參考下2018-03-03使用php批量刪除數(shù)據(jù)庫下所有前綴為prefix_的表
這篇文章主要介紹了php如何批量刪除數(shù)據(jù)庫下所有前綴為prefix_的表,需要的朋友可以參考下2014-06-06Yii2針對游客、用戶防范規(guī)則和限制的解決方法分析
這篇文章主要介紹了Yii2針對游客、用戶防范規(guī)則和限制的解決方法,簡單分析了Yii2對于游客、用戶防范規(guī)則和限制的原理與相應的設置方法,需要的朋友可以參考下2016-10-10Laravel 實現(xiàn)Eloquent模型分組查詢并返回每個分組的數(shù)量 groupBy()
今天小編就為大家分享一篇Laravel 實現(xiàn)Eloquent模型分組查詢并返回每個分組的數(shù)量 groupBy(),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10Zend Framework教程之Zend_Config_Xml用法分析
這篇文章主要介紹了Zend Framework教程之Zend_Config_Xml用法,結(jié)合實例形式較為詳細的分析了Zend_Config_Xml的功能,使用方法及相關注意事項,需要的朋友可以參考下2016-03-03php寫app接口并返回json數(shù)據(jù)的實例(分享)
下面小編就為大家?guī)硪黄猵hp寫app接口并返回json數(shù)據(jù)的實例(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05