PHP冒泡排序算法和快速排序法

有目标就不怕路远。年轻人.无论你现在身在何方.重要的是你将要向何处去。只有明确的目标才能助你成功。没有目标的航船.任何方向的风对他来说都是逆风。因此,再遥远的旅程,只要有目标.就不怕路远。没有目标,哪来的劲头?一车尔尼雷夫斯基

导读:本篇文章讲解 PHP冒泡排序算法和快速排序法,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

算法说明:

冒泡排序大概的意思是依次比较相邻的两个数,然后根据大小做出排序,直至最后两位数。由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。但其实在实际过程中也可以根据自己需要反过来用,大树往前放,小数往后放。

示例:从小到大
说明:从大到小的话,就把if判断那里的大于号改为小于号

<?php
// 定义一个随机的数组
$a = array(23,15,43,25,54,2,6,82,11,5,21,32,65);

// 第一层可以理解为从数组中键为0开始循环到最后一个
for ($i = 0; $i < count($a) ; $i++) {
  // 第二层为从$i+1的地方循环到数组最后
    for ($j = $i+1; $j < count($a); $j++) {
     // 比较数组中两个相邻值的大小
        if ($a[$i] > $a[$j]) {
            $tem = $a[$i]; // 这里临时变量,存贮$i的值
            $a[$i] = $a[$j]; // 第一次更换位置
            $a[$j] = $tem; // 完成位置互换
        }
    }        
}
$a = array_values($a);

快速排序法
每一次比较都把最大数放置最右侧(不是很准确,不会描述了)(默认从小到大排列,倒序则相反)

<?php
// 定义一个随机的数组
$a = array(23,15,43,25,54,2,6,82,11,5,21,32,65);

for ($i = 0; $i < count($sortArr) - 1; $i++) {
    for ($j = count($sortArr) - 1; $j > $i; $j--) {
        if ($sortArr[$i] > $sortArr[$j]) {
            $temp        = $sortArr[$i];
            $sortArr[$i] = $sortArr[$j];
            $sortArr[$j] = $temp;
        }
    }
}
$a = array_values($a);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/134046.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!