算法说明:

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

示例:从小到大
说明:从大到小的话,就把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);

PHP冒泡排序算法和快速排序法相关推荐

  1. 经典算法之快速排序法(附B站最细讲解视频)

    活动地址:21天学习挑战赛 文章目录 一.算法 1.算法概述 2.算法步骤 3.算法特点 二.算法实践 1.Java代码 2.执行结果 3.讲解视频 三.复杂度分析 1.时间复杂度 2.空间复杂度 一 ...

  2. MATLAB实现冒泡排序算法和快速排序算法

    冒泡算法(Bubble Sort)--一种计算机科学领域的较简单的排序算法. 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小.首字母从Z到A)错误就把他们交换过来.走访元素 ...

  3. 【JavaScript算法】---快速排序法

    一.快速排序法概念 我们将一个杂乱无章的数组进行一个快速排序,可以先从一个数组中取一个中间值,将一个数组一分为2,左边的数组跟中间值进行比较,小的放在左边,大的放在右边.比较完毕后再次取中间值,再次比 ...

  4. php四种基础算法:冒泡,选择,插入和快速排序法

    许多人都说 算法是程序的核心,一个程序的好于差,关键是这个程序算法的优劣.作为一个初级phper,虽然很少接触到算法方面的东西 .但是对于冒泡排序,插入排序,选择排序,快速排序四种基本算法,我想还是要 ...

  5. 算法之旅 | 快速排序法

    HTML5学堂-码匠:前几期"算法之旅"跟大家分享了冒泡排序法和选择排序法,它们都属于时间复杂度为O(n^2)的"慢"排序.今天跟大家分享多种排序算法里使用较广 ...

  6. oracle快速排序法,经典算法系列之快速排序算法

    快速排序(Quicksort)是对冒泡排序的一种改进.由C. A. R. Hoare在1962年提出.在平均状况下,排序 n 个项目要Ο(n log n)次比较.在最坏状况下则需要Ο(n2)次比较,但 ...

  7. java 合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排序...

    算法是在有限步骤内求解某一问题所使用的一组定义明确的规则.通俗点说,就是计算机解题的过程.在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法.前者是推理实现的算法,后者是操作实现的算法. ...

  8. 【重温基础算法】内部排序之快速排序法

    内部排序之快速排序法 文章目录 内部排序之快速排序法 主要思想 过程演示 JAVA代码 算法分析 时间复杂度分析 最好时间复杂度 最坏时间复杂度 平均时间复杂度 空间复杂度 对冒泡排序的一种优化 主要 ...

  9. C语言随机生成成绩排序,如何实现以下功能给出1000个通过随机数生成的数据,分别用直接插入排序法、冒泡排序法、快速排序法进行排序...

    已结贴√ 问题点数:20 回复次数:2 如何实现以下功能给出1000个通过随机数生成的数据,分别用直接插入排序法.冒泡排序法.快速排序法进行排序 #include #include #include ...

最新文章

  1. SCSF 系列:Smart Client Software Factory 启动过程详解
  2. java基于udp实现键盘录入聊天
  3. Java集合及concurrent并发包总结(转)
  4. HDU 2647 Reward 拓扑排序
  5. Linux安全驱动模块,【漏洞预警】CVE-2017-2636:linux 内核n_hdlc驱动模块 本地提权漏洞...
  6. 静态路由--------默认路由和路由汇总
  7. AI 女神是如何炼成的?
  8. 调研报告|在线语音识别改进之 RNN-T 训练
  9. linux 零拷贝golden,GoldenGate碎碎念
  10. vb利用计算机 鸡兔同笼,VB程序题:利用计算机解决古代数学瓿“鸡兔同笼问题”。即已知在同一笼子里有总数为m只鸡和兔,鸡和兔的总脚数为n只,求鸡和兔各有多少只? VB源码 龚沛曾...
  11. 富士胶片滤镜人像调色预设PS插件
  12. 数据分析 超市条码_超市卖场管理四要素!走好千里之行的第一步!
  13. 微信小程序 自定义组件之《转盘》
  14. pron网站制作遇到的问题
  15. select搜索功能实现
  16. 项目经理面试题pmp面试题项目管理面试题
  17. PHP中常用数学、日期、字符串函数
  18. 证明题 (转自和菜头)
  19. 【积硅计划】html标签
  20. Wipro被评为印度和亚太及日本地区“2018年Citrix Cloud年度合作伙伴”

热门文章

  1. CAD 移动到线段中点
  2. mybatis一对多查询的两种方式
  3. 数据可视化制图工具:Echarts(基于JS)
  4. javascript选择器、自定义属性
  5. postgresql字符串函数全集
  6. 学生专用计算机玩游戏教学,浅谈信息技术课上学生玩游戏的现象
  7. 简述hashmap原理
  8. 用计算机的说法,计算机题
  9. 通过 js 设置点击查看原图
  10. 人工智能书单(机器学习实践篇)