首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP 冒泡排序算法

什么是冒泡排序 ? ---- 冒泡排序的英文名是 Bubble Sort,是一种最基础的交换排序算法。...相信每个人都喝过汽水吧,在汽水中常有许多的小气泡往上飘,这是因为组成气泡的二氧化糖比水要轻,所以小气泡才会一点一点往上浮,而冒泡排序之所以叫冒泡排序,正是因为这种排序算法的每一个元素都可以像小气泡一样,...冒泡排序算法 ---- 一组无序的数列想要从小到大排序,通过遍历数组,比较相邻的两个元素,当左边的值大于右边的值时,交换双方的值 这是标准的冒泡排序算法排序过程如下图所示: /** * 冒泡排序算法...) { $tmp = $arr[$j]; $arr[$j] = $arr[$j + 1]; $arr[$j + 1] = $tmp; } } } return $arr; } 推荐文章 ---- 冒泡排序算法

82030

php实现快速排序算法

理解 每次排序的时候设置一个基准点,将小于等于基准点的数全部放到基准点的左边,将大于等于基准点的数全部放到基准点的右边。...这样在每次交换的时候就不会像冒泡排序一样只能在相邻的数之间进行交换,交换的距离就大得多了。因此总的比较和交换次数就少了,速度自然就提高了。当然在最坏的情况下,仍可能是相邻的两个数进行了交换。...因此快速排序的最差时间复杂度和冒泡排序是一样的,都是 O(N2),它的平均时间复杂度为 O (NlogN)。其实快速排序是基于一种叫做“二分”的思想。不稳定排序 代码实现 <?...php /** * Created by PhpStorm....* User: benny * Date: 18-11-20 * Time: 下午5:01 */ /** * 快速排序 * @param $array * @param $i * @param

1.1K10
您找到你想要的搜索结果了吗?
是的
没有找到

PHP 排序算法实现讲解

所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序 算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。...一个优秀的算法可以节省大量的资源。在各个领域中考虑到数据的各种限制和规范,要得到一个符 合实际的优秀算法,得经过大量的推理和分析。...分别使用插入排序法,冒泡排序法,选择排序法,快速排序法,将下面数组中的值进行按照从小到大的顺序进行排序操作。...分析:从前往后对相邻的两个数字依次进行比较调整,让较大的数字往下沉,让较小的数字往上升,即每相邻的数字进行对比排序,顺序不符合时将其调换位置。...分析:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列

85250

算法php实现排序(一)

选择排序 方式:先让第一位与其他位比较大小找到最小的数字,然后是第二位与除第一位的其他位比较大小找出第二位,依此类推 $arr = [2,45,12,67,33,5,23,132,46]; for...方法:比较相邻两个位置的数据并进行排序 优化:添加字段 if_replace 判断该轮排序是否完成,如果完成则不再继续后面的排序 $arr = [2,45,12,67,33,5,23,132,46];...$if_replace){ break; } } print_r($arr); 插入排序 方法:通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入...方法:设待排序元素序列有n个元素,首先取一个整数increment(小于n)作为间隔将全部元素分为increment个子序列,    所有距离为increment的元素放在同一个子序列中,在每一个子序列中分别实行直接插入排序...然后缩小间隔increment,重复上述子序列划分和排序工作。直到最后取increment=1,将所有元素放在同一个子序列中排序为止。

64700

【说站】php数组排序算法

php数组排序算法 推荐操作系统:windows7系统、PHP5.6、DELL G3电脑 1、冒泡排序 重复地走访过要排序的数列,依次比较两个元素,如果他们的顺序错误就把他们交换过来。...2、选择排序 首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。...3、插入排序 通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。...            $arr[$k+1]=$arr[$k];             $arr[$k]=$tmp;         }     }   }   return $arr; } 以上就是php...数组排序算法的介绍,大家可以就这四种排序算法的概念先进行理解,然后展开有关的代码示例练习。

68320

php基础】php的几种排序算法的比较

这里列出了几种PHP排序算法的时间比较的结果,,希望对大家有所帮助 /* * php 四种排序算法的时间与内置的sort排序比较 * 3000个元素,四种算法排序所用的时间比较 * 冒泡排序...857.98192024231ms * 选择排序 903.74493598938ms * 插入排序 296.8270778656ms * 快速排序 15.607833862305ms * sort...排序 0.95200538635254ms * 归并排序 14.61386680603ms * */ /* * @param 冒泡排序 * 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来...* 算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。...ms"; 从时间上来看,快速排序和归并排序在时间上比较有优势,但是也比不上sort排序,归并排序比较占用内存!

1K130

PHP实现常用排序算法的方法

本文主要介绍了一些常用的排序算法,以及PHP的代码实现等,希望对您能有所帮助。 本文来自于awaimai.com,由火龙果软件Luca编辑推荐。 作为phper,一般接触算法的编程不多。...但基本的排序算法还是应该掌握。 毕竟算法作为程序的核心,算法的好坏决定了程序的质量。 本文将依次介绍一些常用的排序算法,以及PHP实现。 1 快速排序 快速排序是由东尼·霍尔发展的一种排序算法。...冒泡排序是一种简单的排序算法。...但希尔排序是非稳定排序算法。...关于稳定性: 稳定的排序算法:冒泡排序、插入排序、归并排序和基数排序 不是稳定的排序算法:选择排序、快速排序、希尔排序、堆排序 总结 以上所述是小编给大家介绍的PHP实现常用排序算法,希望对大家有所帮助

60021

PHP常见排序算法整理学习

算法可以认为是插入排序的一个变种,称为二分查找排序。....桶排序 思路分析 假设输入数据服从均匀分布,将数据分到有限数量的桶里,每个桶再分别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排) 算法描述 设置一个定量的数组当作空桶; 遍历输入数据...,因为网上多数的PHP代码感觉不合规范,其中的insertSort()为借用的文中所写的插入排序 通过测试发现,此方法耗时比countingSort()要长好多,此处仅做参考不做推荐。...计数排序不是比较排序排序的速度快于任何比较排序算法。...sort()函数. 【4】参考文章 十大经典排序算法总结(JavaScript描述)【推荐】 十大经典排序算法PHP实现教程(注意底部的文章目录) PHP 的几种排序算法的比较 【5】提示 本文主要为了学习而生

91030

PHP实现四种基本排序算法

许多人都说算法是程序的核心,算法的好坏决定了程序的质量。作为一个初级phper,虽然很少接触到算法方面的东西。但是对于基本的排序算法还是应该掌握的,它是程序开发的必备工具。...这里介绍冒泡排序,插入排序,选择排序,快速排序四种基本算法,分析一下算法的思路。 前提:分别用冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中的值按照从小到大的顺序进行排序。...冒泡排序 思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。...即,每当两相邻的数比较后发现它们的排序排序要求相反时,就将它们互换。...除非特别声明,PHP100新闻均为原创或投稿报道,转载请注明作者及原文链接 原文地址: http://www.php100.com/html/dujia/2015/0210/8604.html

66330
领券