PHP实现的.代码先奉上:

复制代码 代码如下:

function bubble_sort($array) {

for ($i = 0; $i < count($array) - 1; $i++) { //$i为已经排过序的元素个数

for ($j = 0; $j < count($array) - 1 - $i; $j++) { //$j为需要排序的元素个数,用总长减去$i

if ($array[$j] > $array[$j + 1]) { //按升序排序

$temp = $array[$j];

$array[$j] = $array[$j + 1];

$array[$j + 1] = $temp;

}

}

}

return $array;

}

$a = array(5, 1, 4, 7);

代码执行过程:

复制代码 代码如下:

i = 0;

j = 0;

if($arr[0] > $arr[1]) => 5 > 1 条件成立,交换位置,形成新的数组 => 1 5 4 7 j++

if($arr[1] > $arr[2]) => 5 > 4 条件成立,交换位置, 形成新的数组 => 1 4 5 7 j++

if($arr[2] > $arr[3]) => 5 > 7 条件不成立 ,数组保持不变 , 1 4 5 7 j++ j=3 退出内层循环, i++

依次类推吧。

【浅谈php冒泡的排序】相关文章:

php 冒泡置顶,浅谈php冒泡的排序相关推荐

  1. 面试浅谈之十大排序算法

    面试浅谈之十大排序算法 HELLO,各位博友好,我是阿呆

  2. 浅谈淘宝搜索排序算法【转自淘宝搜索博客】

    浅谈淘宝搜索排序算法 作者:鬼脚七     前言:        目前网上有很多介绍淘宝搜索排序的文章,大多是淘宝卖家们根据自己经验摸索整理出来的,里面提到的很多办法也很正确.只是搜索排序算法不是固定 ...

  3. [置顶] 再谈学习方法

    之前写过一篇文章: 浅谈Oracle学习方法 http://blog.csdn.net/tianlesoftware/article/details/5448689 这里不谈Oracle,只谈学习方法 ...

  4. 【事件流】浅谈事件冒泡事件捕获------【巷子】

    首先在扯淡的时候我们需要先了解一个东西,这个东西就是事件流.1.什么是事件流?解释:当一个HTML元素触发一个事件处理函数的时候,该事件会在该元素节点到根节点之间传播,传播路径所经过的节点都会接受到该 ...

  5. list 置顶元素_java集合指定元素排序:最前,按照提供的顺序排序?求算法

    哈哈哈,不好意思,问了题主那么久...根据我获得需求描述,最后我还是觉得引用新的编程元素来使业务稍微变简单的,我整理到需求应该是: 首先给定一个指定关键字的排序,给出一个字符串列表,对列表进行排序,若 ...

  6. 浅谈 Java 中的排序

    前言 进来不要失望,这不是一篇讲排序算法的文章.而是简要介绍 Java 中排序相关的类Comparator.Comparable以及Collections.sort的使用. 写程序分为10个阶段:使用 ...

  7. html评论置顶功能,微信公众号精选留言评论怎么置顶显示?功能在哪里设置?...

    微信公众号精选留言怎么置顶?微信公众号留言功能新增了置顶精选留言的设置,那么微信公众号留言功能在哪里设置呢?下文小乐哥给大家介绍一下! 微信公众号精选留言怎么置顶? 微信公众平台悄然上线了一个新功能, ...

  8. java 基于jeecg-boot的公告管理——上移、下移、置顶

    一.后端 实体类: package org.jeecg.modules.bidding.entity;import java.io.Serializable; import java.io.Unsup ...

  9. 如何在项目中实现类似于微信的置顶与取消置顶的功能?

    - 借鉴微信的置顶与取消置顶的实现思路: 会看到这个微信的聊天记录的排序规则是以时间降序来进行排序的,如果要实现置顶与取消置顶? 一下子是想不到的,需要思路 由此可以确信的是,我们平时使用微信时,最新 ...

最新文章

  1. 渐变显示渐变消失的BackgroundView
  2. BFS,优先队列优化
  3. hbase 导入mysql_HBase导入SQL Server数据库数据
  4. 系统架构师学习笔记-操作系统(一)
  5. vuex使用模块的时候 获取state里的数据语法
  6. js 值类型和引用类型
  7. 阿里达摩院为什么吸引到世界顶尖人才?
  8. LeetCode 159. 至多包含两个不同字符的最长子串 (滑动窗口哈希表)
  9. 文件正由另一进程使用,该进程无法访问该文件,解决方法
  10. linux常用文本操作命令
  11. ANDROID模拟器访问本地WEB应用10.0.2.2
  12. 如何改变Static Text控件中文字的字体,字体大小及颜色。
  13. STM32F10x 学习笔记4(CRC计算单元 续)
  14. MSYS2 的安装与使用
  15. 连接服务器显示句柄无效,紧急求助!!1  打印机不能打印 提示:句柄无效...
  16. 神奇的css之 -webkit-background-clip: text; 五彩斑斓的文字效果
  17. 【分享】“小鹅通“在集简云平台集成应用的常见问题与解决方案
  18. 浙大PTA数据结构与算法题目集(中文)题解集复习用
  19. 《算法和数据结构》算法零基础五十题讲解
  20. 梯度下降学习率的影响

热门文章

  1. 【1024程序员节】都有什么?现场亲历者告诉你...
  2. Flink从入门到精通100篇(十五)-Flink SQL FileSystem Connector 分区提交与自定义小文件合并策略 ​
  3. 背景和文字分离的matlab实现
  4. python面向对象和面向过程的区别_Python11-01_面向对象----面向对象和面向过程的区别...
  5. gitHub使用记录
  6. QT关于全局变量的申请以及使用,所有class可用同一个变量
  7. 支付宝扫一下就能体验的深度学习模型
  8. c#多线程实现函数同步运行
  9. java 并发编程第七章:取消和关闭
  10. 【风控策略】大数据风控策略逻辑