美文网首页
php实现冒泡和快速排序

php实现冒泡和快速排序

作者: 会飞的兔子zy | 来源:发表于2020-05-06 15:52 被阅读0次

废话不说直接上代码

快速排序
随机获取一个key[一般是$arr[0]],通过反复对比 大于key的放到右边,小于key的放到左边,然后递归,最后把三个数组进行合并.

public function QuickSortA(array $arr) {
        $len = count($arr);
        if ($len < 2) {
            return $arr;
        }
        $key = $arr[0];
        $leftArr = $rightArr = array();
        for ($i = 1; $i < $len; $i++) {
            if ($arr[$i] < $key) {
                $leftArr[] = $arr[$i];
            } else {
                $rightArr[] = $arr[$i];
            }
        }
        //递归处理
        $leftArr = self::quickSortA($leftArr);
        $rightArr = self::quickSortA($rightArr);
        return array_merge($leftArr, array($key), $rightArr);
    }

冒泡排序
将值做反复比对,如果$arr[1] > $arr[2]那么就交换位置,每轮会得到一个最大数,就是冒泡.


    public function BubbleSortA(array $arr) {
        $len = count($arr);
        if ($len < 2) {
            return $arr;
        }
        for ($i = 0; $i < $len; $i++) {
            for ($j = 0; $j < $len - $i - 1; $j++) {
                if ($arr[$j] > $arr[$j + 1]) {
                    $temp = $arr[$j];
                    $arr[$j] = $arr[$j + 1];
                    $arr[$j + 1] = $temp;
                }
            }
        }
        return $arr;
    }

相关文章

  • 排序算法

    冒泡排序 PHP OC 快速排序

  • 看图说话排序算法之冒泡排序

    排序算法的种类非常多,这里总结冒泡排序和对冒泡排序的改进---快速排序的循环实现和递归实现。 一丶冒泡排序 假设待...

  • php实现冒泡和快速排序

    废话不说直接上代码 快速排序随机获取一个key[一般是$arr[0]],通过反复对比 大于key的放到右边,小于k...

  • 算法总结

    1.使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组 //冒泡排序(数组排序) function bubb...

  • Datawhale | 编程第6期 Test 3

    排序 1.实现归并排序、快速排序、插入排序、冒泡排序、选择排序、堆排序(选做) 归并排序 快速排序 插入排序 冒泡...

  • PHP冒泡排序和快速排序

    php冒泡排序和快速排序算法,对需要排序的数组从后往前(逆序)多遍扫描,当发现相邻的两个数值的次序与排序要求的规则...

  • JavaScript实现排序算法

    实现了冒泡,选择,插入,快排,希尔,归并 冒泡排序 选择排序 插入排序 快速排序 希尔排序 归并排序

  • 快速排序算法的PHP与JQuery简单实现

    快速排序(以下简称快排)算法的PHP与JQuery简单实现 1.简介: 1.快排的本质是冒泡排序(Bubble S...

  • Java冒泡排序,快速排序理解与实现

    经典排序算法中,有好几种排序,下边说下冒泡排序和快速排序的理解与实现,记太多容易混乱; 1.冒泡排序:字面理解,值...

  • 7天练|Day3:排序和二分查找

    关于排序和二分查找的几个必知必会的代码实现排序实现归并排序、快速排序、插入排序、冒泡排序、选择排序编程实现O(n)...

网友评论

      本文标题:php实现冒泡和快速排序

      本文链接:https://www.haomeiwen.com/subject/pkewghtx.html