大牛

php中文网
发布: 2016-06-13 10:18:16
原创
1206人浏览过

求救大牛
Array ( [0] => 16 [1] => 23 [2] => 34 [3] => 100 [4] => 12 [5] => 23 [6] => 31 [7] => 37 [8] => 55 )

?要求升序排列,不能使用内置函数.求算法

------解决方案--------------------
/*
?* 冒泡排序
?*/
function bubble_sort($array)
{
if(!is_array($array))
{
return false;
}

$len=count($array);

for($i=0;$i {
$flag = false;

for($j=0;$j {
if($array[$j] > $array[$j+1])
{
$temp=$array[$j];

$array[$j]=$array[$j+1];

$array[$j+1]=$temp;

$flag = true;
}
}
if(! $flag)//本趟排序没有值交换,则提前终止程序
? return $array;
}
return $array;
}
/*?
?* 希尔排序
?*/

function shell_sort($array)
{
if(!is_array($array))
{
return false;
}

$len=count($array);

$d=$len;//随机增量,初始值为数组长度,以不断除2取值

while($d >1)
{
$d=intval($d / 2);//分组间隔,2为n值,n值减少时,移动的趟数和数据增多

$temp=NULL;

$j=0;

for($i=$d;$i {
if($array[$i] {
$temp=$array[$i];

$j=$i-$d;

while(($j >=0) && $temp {
$array[$j+$d]=$array[$j];

$j = $j - $d;
}

$array[$j+$d]=$temp;
}
}
}
return $array;
}
/*
?* 选择排序
?*/
function select_sort($array)
{
if(!is_array($array))
{
return false;
}

$len=count($array);

for($i=0;$i {
$k=$i;

for($j=$i+1;$j {
if($array[$k] > $array[$j])
{
$k=$j;
}
}
if($i!=$k){
$temp = $array[$i];
? $array[$i] = $array[$k];
? $array[$k] = $temp;
}
}
return $array;
}
?>
------解决方案--------------------
选择排序,冒泡排序,插入排序
------解决方案--------------------
百度、排序算法,一抓一大堆
------解决方案--------------------
去学习下数据结构去

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号