在前面的文章中,我们给大家介绍了PHP算法系列之《PHP随机取一算法》。今天我们继续为大家讲解常见的PHP算法系列的相关知识点,即PHP冒泡排序算法。

冒泡排序,相信对于编程人员来说并不陌生。冒泡排序算法简单来说就是依次比较相邻的两个数,然后根据大小做出排序,直至最后两位数。

那么之所以称为“冒泡排序”算法是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样。

下面我们就结合具体的代码示例,给大家介绍PHP冒泡排序算法的实现。(以下是升序排列,即从小到大排列)

代码示例如下:<?php

function maopao($arr){

$len = count($arr);

for($k=0;$k<=$len;$k++)

{

for($j=$len-1;$j>$k;$j--){

if($arr[$j]

$temp = $arr[$j];

$arr[$j] = $arr[$j-1];

$arr[$j-1] = $temp;

}

}

}

return $arr;

}

$arr = [2,6,2,8,2,34,5,9,2341,23];

var_dump(maopao($arr));

这里我们定义了一个maopao方法,首先我们通过count函数统计出指定数组的总长度。 然后使用双重for循环语句循环遍历数组元素并逐一比较,那么外层for循环就是用来控制循环轮次;内层for循环就是控制每轮的比较次数,并且在每轮比较后选出最大的一个值放在最后。

注意:这里我们通过临时变量$temp介质来存贮$j的值,以此循环比较两个相邻的元素,并把大的值放在后面。

输出:array (size=10)

0 => int 2

1 => int 2

2 => int 2

3 => int 5

4 => int 6

5 => int 8

6 => int 9

7 => int 23

8 => int 34

9 => int 2341

总结冒泡排序的算法原理:对一组数据,比较相邻数据的大小,将值小数据在前面,值大的数据放在后面。

本篇文章就是关于PHP冒泡排序算法的介绍,在下篇文章《PHP冒泡排序算法(二)》中,我们将通过Xdebug为大家更直观地调试运行冒泡排序算法的实现过程。

冒泡php_PHP冒泡排序算法(一)相关推荐

  1. 冒泡php_php 冒泡排序函数

    冒泡排序算法是最基本的c语言算法之一,作为万能小强php实现起来自然也不成问题. /* * bubblesort() 冒泡排序算法 * 虽然简单但效率不高^_^ * */ function bubbl ...

  2. 冒泡php_php冒泡排序法

    一.简述 php冒泡排序法是计算机中的一种简单的排序算法.在对数组排序时会根据数组的长度重复的去比较数组中的值,如果顺序不对就把两个数据位置进行对调,一直比较到没有需要交换的值为止完成排序. 二.为啥 ...

  3. j1_09_02。冒泡排序法。实现冒泡游戏功能关键算法。要求:综合使用分支、循环结构语句实现,直接输出结果不计分。

    package com; /*** 任务二:实现冒泡游戏功能关键算法并绘制流程图(30 分) 原始数组:a[]={1,9,3,7,4,2,5,0,6,8} 排序后: a[]={0,1,2,3,4,5, ...

  4. php 冒泡查找 降序 随机数 封装,又一个PHP实现的冒泡排序算法分享

    又一个PHP实现的冒泡排序算法分享 经典的冒泡排序法一直是许多程序沿用的其中一种排序法,话说冒泡排序法在效率上比PHP系统函数sort更高效.本章不讨论性能,所以就不拿它来跟系统性能做对比了. 冒泡排 ...

  5. php冒泡算法排序,PHP算法大全(2)冒泡排序算法解决差生排序问题

    前言 算法是有用的,也是枯燥的,我们尽量用生活中的例子来描述.排序算法是算法中最基础的部分,今天我们一起来排序算法中的冒泡排序算法. 内容概要: 1.什么是冒泡算法-差生排序问题. 2.冒泡算法的动画 ...

  6. php语言冒泡法,PHP实现冒泡排序算法的案例

    PHP实现冒泡排序算法的案例 发布时间:2020-10-23 17:39:38 来源:亿速云 阅读:84 作者:小新 这篇文章主要介绍PHP实现冒泡排序算法的案例,文中介绍的非常详细,具有一定的参考价 ...

  7. 【经典算法实现 3】冒泡排序算法(单向冒泡,双向冒泡)

    [经典算法实现 3]冒泡排序算法 及 算法优化 一.单向冒泡排序算法 O(n^2)(从小到大) 1. 核心算法实现 2. 代码实测 二.双向冒泡排序算法 O(n^2)(从小到大) 1. 核心算法实现 ...

  8. python实现冒泡排序完整算法_Python实现冒泡排序算法的完整实例

    冒泡排序:顾名思义就是(较小的值)像泡泡一样往上冒,(大的值)往下沉. 实现原理:依次将相邻两个数值进行比较,较小的数值移到左边,较大的数值移到右边,依次比较完第一轮后,最大的数值应该排在最右边.然后 ...

  9. c语言排序教学过程,C语言中冒泡排序算法教学设计

    排序是计算机科学中一项重要的技术,其应用范围广.使用频率高,因此对于排序算法的研究一直是计算机专家的重点.高校的程序设计类课程也将排序算法作为重难点进行教学. 1常见的几种排序算法 1.1算法的基本概 ...

最新文章

  1. 【 C 】转移表(理论与实践)(实现一个简单的计算器)
  2. 大数运算(6)——大数阶乘(求位数)
  3. 【TCP/IP详解 卷一:协议】第十八章 TCP连接 的建立与终止 (2)其余内容
  4. jquery unbind 异步_JQuery中的bind()和unbind()的理解
  5. [css] 说说你对!important的理解,一般在哪些场景使用?
  6. php实现access数据库连接,PHP实现Access数据库连接
  7. 华为NP课程笔记6-路由控制
  8. QQ里面爱情树显示服务器繁忙,QQ情侣空间爱情树连续浇水断了怎么办 | 手游网游页游攻略大全...
  9. SVM支持向量机原理详解
  10. Efficient polynomial commitment schemes for multiple points and polynomials学习笔记
  11. VLAN 与 WLAN 的区别
  12. python绘制四叶草_python绘图四叶草
  13. 北京清大美博节能技术研究院励志人生格言
  14. 热搜第一!中国烟草总公司工资曝光,员工人均年收入超18万元!网友:简直是不锈钢饭碗!...
  15. 小型餐饮管理系统(c++/win32 SDK/MYSQL 数据库)
  16. VR开发-罗德里格公式的研究
  17. dubbo注册服务IP解析异常及IP解析源码分析
  18. 关于支付宝CertificateException: X.509 not found的那些事~づ♡ど,JDK同样的版本之间也会有问题!
  19. 抖音算法揭秘,百万粉丝的背后逻辑
  20. Java_Java多线程_Java线程池核心参数 与 手动创建线程池

热门文章

  1. 专升本考试计算机知识小抄,浙工大允许学生考试带一张小抄 有人抄了2万字带进考场...
  2. wps文档页面左右边距大小怎么调整
  3. 罗技键盘+android风格,罗技推新款便携无线键盘 手感类似传统键盘
  4. 主页被改成百度了,怎么改都不行?
  5. 如何用css实现一个小直角梯形
  6. 英语骂人的话有哪些?
  7. 利用Python来给老照片上色,效果惊艳到我了。这不比ps强啊?
  8. cad怎么倒圆角_CAD技巧:最简单的圆角矩形画法!只要30秒
  9. CSS ID选择器与CLASS选择器
  10. Linux嵌入式开发版贪吃蛇,嵌入式之贪吃蛇