冒泡

 /*
* 冒泡排序(从小到大)
* 介绍:
* 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。
* 思路:
* 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
* 对第0个到第n-1个数据做同样的工作。这时,最大的数就“浮”到了数组最后的位置上
* 针对所有的元素重复以上的步骤,除了最后一个
* 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
* 步骤: 假如10个数字
* 【
* 先找出10个数字中最大的抛出去,剩下9个数字
* 再找出9个数字最大的跑出去, 剩下8个数字
* 以此类推……
* 】
* 怎么找出一组数最大数字(冒泡):
* 【
* 将第1个与第2个比,大的往后排
* 将第2个与第3个比,大的往后排
* 以此类推……
* 最后一个就是最大的
* 】

代码

$order_array=array(
5,4,3,6,7,1,2,10,8,9
);
function bubble_order($arr){
//得到长度
$count_num=count($arr); for($k=1;$k<$count_num;$k++){ //对长度越来越少的一组数据 找出最大让其浮到最后 for($i=0;$i<$count_num-$k;$i++){ if($arr[$i]>$arr[$i+1]){//相邻比较
$tem=$arr[$i];
$arr[$i]=$arr[$i+1];
$arr[$i+1]=$tem;
} }
}
return $arr;
}
$new_order_arr=bubble_order($order_array);
print_r($new_order_arr);

php冒泡排序详解笔记的更多相关文章

  1. TCP-IP详解笔记8

    TCP-IP详解笔记8 TCP超时与重传 下层网络层(IP)可能出现丢失, 重复或丢失包的情况, TCP协议提供了可靠的数据传输服务. TCP启动重传操作, 重传尚未确定的数据. 基于时间重传. 基于 ...

  2. TCP-IP详解笔记7

    TCP-IP详解笔记7 TCP: 传输控制协议(初步) 使用差错校正码来纠正通信问题, 自动重复请求(Automatic Repeat Request, ARQ). 分组重新排序, 分组复制, 分组丢 ...

  3. TCP-IP详解笔记6

    TCP-IP详解笔记6 用户数据报协议和IP分片 UDP是一种保留消息边界的面向数据报的传输层协议. 不提供差错纠正, 队列管理, 重复消除, 流量控制和拥塞控制. 提供差错检测, 端到端(end-t ...

  4. TCP-IP详解笔记5

    TCP-IP详解笔记5 ICMPv4和ICMPv6: Internet控制报文协议 Internet控制报文协议(Internet Control Message Protocol, ICMP)与IP ...

  5. TCP-IP详解笔记4

    TCP-IP详解笔记4 系统配置: DHCP和自动配置 每台主机和路由器需要一定的配置信息,配置信息用于为系统指定本地名称,及为接口指定标识符(如IP地址). 提供或使用各种网络服务,域名系统(DNS ...

  6. TCP-IP详解笔记3

    TCP-IP详解笔记3 地址解析协议 IP协议的设计目标是为跨越不同类型物理网络的分组交换提供互操作. 网络层软件使用的地址和底层网络硬件使用的地址之间进行转换. 对于TCP/IP网络,地址解析协议( ...

  7. http详解笔记

    http详解笔记 http,(HyperText Transfer Protocol),超文本传输协议,亦成为超文本转移协议   通常使用的网络是在TCP/IP协议族的基础上运作的,HTTP属于它的一 ...

  8. 【TCP/IP】TCP详解笔记

    目录 前言 17. TCP 传输控制协议 17.1 引言 17.2 TCP 服务 17.3 TCP的首部 18. TCP连接的建立与终止 18.1 引言 18.2 连接的建立与终止 18.2.1 建立 ...

  9. CDN技术详解笔记

    1.影响网络传输的四个因素(1)“第一公里”:网站服务器接入互联网的链路所能提供的带宽.(2)“最后一公里”:用户接入带宽.(3)对等互联关口:不同网络之间的互联互通带宽.(4)长途骨干传输:首先是长 ...

随机推荐

  1. Python高级有关的题目

    1,copy模块 from copy import deepcopy dic = {} list = [] for i in range(10): dic["num"] = i i ...

  2. list utilities监视数据库前滚操作

    您可以使用 db2pd 或 LIST UTILITIES 命令来监视数据库前滚操作的进度. 过程 发出 LIST UTILITIES 命令并指定 SHOW DETAIL 参数 db2 LIST UTI ...

  3. ruby安装方法

    安装 Ruby Ruby官网下载:http://www.ruby-lang.org/en/downloads/(官网下载链接) 安装过程中,得注意,勾选上添加到环境变量 安装完成后,查看是否安装成功 ...

  4. Spark(四十五):Schema Registry

    很多时候在流数据处理时,我们会将avro格式的数据写入到kafka的topic,但是avro写入到kafka的时候,数据有可能会与版本升级,也就是schema发生变化,此时如果消费端,不知道哪些数据的 ...

  5. Android 使用easeui 3.0 集成环信即时通讯 我踩过的坑

    0.关于注冊账号就不用说了. 1.创建应用.获取appkey 0.创建应用 1.填写信息 2.获取appkey 2.集成 0.首先新建一个project 1.这里主要介绍使用easeui来集成环信的即 ...

  6. Win10系统的SurfacePro4无法修改启动顺序怎么办

    必须要把底部的开关关闭,否则启动顺序无法修改      

  7. 小程序学习笔记五:API

    API 小程序提供了丰富的微信原生API,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等. api调用格式: 1:wx.on 开头的 API 是监听某个事件发生的API接口,接受一 ...

  8. 修改Linux用户配置之后先验证再退出

    在服务器上更改完zsh.SSH连接属性.用户密码之后,我们可能想退出重新登录查看是否配置生效.这时,有一个注意事项:不要关闭旧窗口,而是重新打开一个新窗口尝试登录.否则,如果配置改错了,自己就再也没有 ...

  9. Delphi提取PDF文本

    生成PDF的控件很多,但解析的不是太多,pdf Toolkit可以,但测试的第一个复杂的pdf就报告错误,并且汉字乱码,可能使用的版本或使用方法不对. 想起之前使用java调用的Apache名下的pd ...

  10. OSI(Open System Interconnect) 网络七层协议

    你作为用户想发个快递,你叫来了顺丰,顺丰快递员从你手里拿走了快递,又装进一个盒子,然后把一个快递单子贴在了上面. 快递员回到集散中心,将快递往那一扔不管了,分拣员把快递按投递的省市分开,发往同一地区的 ...