php 冒泡排序原理
$start = microtime(true);
$popArr = array(6,3,23,1,5,100,399,99,66);
echo '6,3,23,1,5,100,399,99,66';
$len = count($popArr);
for ($j=0; $j<$len; $j++)
{
for ($i=$len-1; $i>$j; $i--)
{
if ($popArr[$i] < $popArr[$i-1])
{
$x = $popArr[$i];
$popArr[$i] = $popArr[$i-1];
$popArr[$i-1] = $x;
}
}
}
/*
j=0 i=8 99和66互换了 array(6,3,23,1,5,100,399,66,99);
i=7 399和66互换了 array(6,3,23,1,5,100,66,399,99);
i=6 100和66互换了 array(6,3,23,1,5,66,100,399,99);
i=5 没变化
i=4 没变化
i=3 23和1互换了 array(6,3,1,23,5,66,100,399,99);
i=2 3和1互换了 array(6,1,3,23,5,66,100,399,99);
i=1 6和1互换了 array(1,6,3,23,5,66,100,399,99);
j=1 i=8 399和99互换了 array(1,6,3,23,5,66,100,99,399);
i=7 100和99互换了 array(1,6,3,23,5,66,99,100,399);
i=6 没变化 array(1,6,3,23,5,66,99,100,399);
i=5 没变化 array(1,6,3,23,5,66,99,100,399);
i=4 23和5互换了 array(1,6,3,5,23,66,99,100,399);
i=3 没变化 array(1,6,3,5,23,66,99,100,399);
i=2 6和3互换了 array(1,3,6,5,23,66,99,100,399);
j=2 i=8 没变化 array(1,3,6,5,23,66,99,100,399);
i=7 没变化 array(1,3,6,5,23,66,99,100,399);
i=6 没变化 array(1,3,6,5,23,66,99,100,399);
i=5 没变化 array(1,3,6,5,23,66,99,100,399);
i=4 没变化 array(1,3,6,5,23,66,99,100,399);
i=3 6和5互换了 array(1,3,5,6,23,66,99,100,399);
j=3 i=8 没变化 array(1,3,5,6,23,66,99,100,399);
i=7 没变化 array(1,3,5,6,23,66,99,100,399);
i=6 没变化 array(1,3,5,6,23,66,99,100,399);
i=5 没变化 array(1,3,5,6,23,66,99,100,399);
i=4 没变化 array(1,3,5,6,23,66,99,100,399);
j=4 i=8 没变化 array(1,3,5,6,23,66,99,100,399);
i=7 没变化 array(1,3,5,6,23,66,99,100,399);
i=6 没变化 array(1,3,5,6,23,66,99,100,399);
i=5 没变化 array(1,3,5,6,23,66,99,100,399);
j=5 i=8 没变化 array(1,3,5,6,23,66,99,100,399);
i=7 没变化 array(1,3,5,6,23,66,99,100,399);
i=6 没变化 array(1,3,5,6,23,66,99,100,399);
j=6 i=8 没变化 array(1,3,5,6,23,66,99,100,399);
i=7 没变化 array(1,3,5,6,23,66,99,100,399);
j=7 i=8 没变化 array(1,3,5,6,23,66,99,100,399);
*/
echo '<pre>';
print_r($popArr);
echo microtime(true) - $start;
die;
php 冒泡排序原理的更多相关文章
- go语言基础之冒泡排序原理
1.冒泡排序原理 示例: package main //必须有个main包 import "fmt" import "math/rand" import &qu ...
- 冒泡排序原理(BubbleSorted)
//简单的冒泡排序public class BubbleMath { public static void main(String[] args) { //分清楚数组的头和尾,开始为尾,最后为头,因为 ...
- Java_冒泡排序_原理及优化
冒泡排序及其优化 一.原理及优化原理 1.原理讲解 冒泡排序即:第一个数与第二个数进行比较,如果满足条件位置不变,再把第二个数与第三个数进行比较.不满足条件则替换位置,再把第二个数与第三个数进行比较, ...
- 冒泡排序法原理讲解及PHP代码示例
冒泡排序原理 冒泡排序对一个数组里的数字进行排序,把数组里两个相邻的数比较大小,将值小的数放在前面,把大的数往后面放,当然这种排序是升序,即从小到大.举例说明$array = [64, 56, 31, ...
- Python算法-冒泡排序
#coding:utf-8 """ 冒泡排序 原理:依次重复访问每一个需要排序的元素,每次比较相邻的两个元素是否符合顺序,若不符合就交换,直到没有不符合顺序的为止. &q ...
- 【Python全栈笔记】07 [模块二] 20 Oct 冒泡排序
给出一个列表,进行冒泡排序 原理算法: li = [52, 37, 23, 11, 3, 1, ] print(li) # 每次循环,进行一次排序,列表内数字两两比较,最大的数字排到最末尾 # 一共循 ...
- python 算法 -- 冒泡排序
python 排序算法 -- 冒泡排序 原理 从数组的底部开始, 两两比较大小, 小的在下,大的在上, 依次类推直到顶部. 当整个数组比较完毕, 则最上面的一定是最大值(此即冒泡的由来); 当第一轮比 ...
- 晓莲说-何不原创:java 实现二维数组冒泡排序
新手从业路-为自己回顾知识的同时,也希望和大家分享经验: 话不多说,上代码 public class 冒泡排序 { /** * @param admin * @2017.12.4 ...
- [Java]数组排序-选择排序 冒泡排序 插入排序
1 选择排序 原理:a 将数组中的每个元素,与第一个元素比较 如果这个元素小于第一个元素, 就将这个 两个元素交换. b 每轮使用a的规则, 可以选择出 ...
随机推荐
- 探究 Redis 4 的 stream 类型
redis 2 10 月初,Redis 搞了个大新闻.别紧张,是个好消息:Redis 引入了名为 stream 的新数据类型和对应的命令,大概会在年底正式发布到 4.x 版本中.像引入新数据类型这样的 ...
- 为什么使用JSP?
JSP程序与CGI程序有着相似的功能,但和CGI程序相比,JSP程序有如下优势: 性能更加优越,因为JSP可以直接在HTML网页中动态嵌入元素而不需要单独引用CGI文件. 服务器调用的是已经编译好的J ...
- C# .Net 下 x86使用大内存的处理
/LARGEADDRESSAWARE 选项通知链接器应用程序可处理大于 2 GB 的地址. 在 64 位编译器中,默认情况下启用此选项. 在 32 位编译器中,如果未在链接器行上指定 /LARGEAD ...
- python+pip+adb
最近开始玩python,用它写一些小程序游戏的辅助,现在做下总结 下面进入正文. 本文适用对象为WIN10系统,安卓用户.目的在于让丝毫没有接触过Python的小伙伴都能成功运行,如果你恰好是这样的对 ...
- Laravel开发:Laravel初始化简述
二话不说,先从public/index.php撸起 require __DIR__.'/../bootstrap/autoload.php';//Composer 自动加载 $app = requir ...
- python 基础 9.12 索引
#/usr/bin/python #-*- coding:utf-8 -*- #@Time :2017/11/24 4:48 #@Auther :liuzhenchuan #@File :索引 ...
- 【BZOJ5020】[THUWC 2017]在美妙的数学王国中畅游 泰勒展开+LCT
[BZOJ5020][THUWC 2017]在美妙的数学王国中畅游 Description 数字和数学规律主宰着这个世界. 机器的运转, 生命的消长, 宇宙的进程, 这些神秘而又美妙的过程无不可以用数 ...
- netstat命令简单使用
1.适用范围 该命令用于打印网络连接.路由表.接口统计.伪装连接.多播成员等信息. (netstat已经过时,现在使用ss命令,所以本文不会作过多翻译,只着重一些重要部分) 2.语法概览 netsta ...
- html5plus (H5 WebApp)
是什么? 它是增强版的手机浏览器引擎, 让HTML5达到原生水平, 它提供WebApp的规范. 它结合MUI(前端框架) + HBuilder(开发工具) 即可迅速实现开发一个app. 快速起步? 1 ...
- python三大器
装饰器 装饰器的作用: 装饰器的本质:一个闭包函数 (高阶函数+嵌套函数) 装饰器的功能:在不修改原函数及其调用方式的情况下对原函数功能进行扩展 闭包原理 装饰器执行流程 带多个参数函数 import ...