PHP 数据结构 算法描述 冒泡排序 bubble sort

复制代码 代码如下:

/**

* 冒泡排序 bubble sort

*

* 原理:多次循环进行比较,每次比较时将最大数移动到最上面。每次循环时,找出剩余变量里的最大值,然后减小查询范围。这样经过多次循环以后,就完成了对这个数组的排序

*/

function sort_bubble($list)

{

$len = count($list);

if(empty($len)) return $list;

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

{

for($j = $i + 1; $j < $len; $j++)

{

$flag = '';

if($list[$i] > $list[$j]) // 从小到大

//if($list[$i] < $list[$j]) // 从大到小

{

$tmp = $list[$i];

$list[$i] = $list[$j];

$list[$j] = $tmp;

$flag = " change";

}

echo implode(',',$list).$flag."
";

}

echo "-------------------------
";

}

return $list;

}

$list = array(4,3,2,1,5,7,3,7);

$list = sort_bubble($list);

时间: 2011-07-08

复制代码 代码如下: <?php /** * 简单选择排序 simple selection sort * * 原理: 一次选定数组中的每一个数,记下当前位置并假设它是从当前位置开始后面数中的最小数min=i,从这个数的下一个数开始扫描直到最后一个数,并记录下最小数的位置min,扫描结束后如果min不等于i,说明假设错误,则交换min与i位置上数. */ function sort_simple_selection($list) { $len = count($list); if(empty($

实例如下:

<?php /** * Created by PhpStorm. * User: qishou * Date: 15-8-2 * Time: 上午9:12 */ header("content-type:text/html;charset=utf-8"); $arr = array(3,5,8,4,9,6,1,7,2); echo im

本文实例总结了PHP经典算法.分享给大家供大家参考,具体如下: 1.首先来画个菱形玩玩,很多人学C时在书上都画过,咱们用PHP画下,画了一半. 思路:多少行for一次,然后在里面空格和星号for一次. <?php for($i=0;$i<=3;$i++){ echo str_repeat(" ",3-$i); echo str_repeat("*",$i*2+1); echo '
'; } 2.冒泡排序,C里基础算法,从小到大对一组数

本文实例讲述了php几个经典算法.分享给大家供大家参考,具体如下: 有5个人偷了一堆苹果,准备在第二天分赃.晚上,有一人遛出来,把所有菜果分成5份,但是多了一个,顺手把这个扔给树上的猴了,自己先拿1/5藏了.没想到其他四人也都是这么想的,都如第一个人一样分成5份把多的那一个扔给了猴,偷走了1/5.第二天,大家分赃,也是分成5份多一个扔给猴了.最后一人分了一份.问:共有多少苹果? for ($i = 1; ; $i++) { if ($i%5 == 1) { //第一个人取五分之一,还剩$t $t

1.概述 基数排序(Radix sort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较.由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数.基数排序的发明可以追溯到1887年赫尔曼·何乐礼在打孔卡片制表机(Tabulation Machine)上的贡献. 原理:将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零.然后,从最低位开始,依次进行一次排序.这样从最低位排序一直到最高位排序完成以后,

C经典算法之二分查找法 1.根据key查找所在数组的位置 #include /* key = 9; 1 2 3 4 5 6 7 8 arr 3, 4, 5, 7, 9 , 11, 21, 23 low = 1 mid = (low + high)/2 = 4 high = 8; one arr[mid] = 7 < 9; so low = mid + 1 = 5; high = 8; mid = (low + high)/2 = 6 two arr[mid] = 11

冒泡排序

本文为大家分享了机器学习10大经典算法,供大家参考,具体内容如下 1.C4.5 C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法.  C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进: 1)用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足: 2)在树构造过程中进行剪枝: 3)能够完成对连续属性的离散化处理: 4)能够对不完整数据进行处理. C4.5算法有如下优点:产生的分类规则易于理解,准确率较高.其缺点是:在构造树的过

一.算法简要 我们希望有这么一种函数:接受输入然后预测出类别,这样用于分类.这里,用到了数学中的sigmoid函数,sigmoid函数的具体表达式和函数图象如下: 可以较为清楚的看到,当输入的x小于0时,函数值<0.5,将分类预测为0:当输入的x大于0时,函数值>0.5,将分类预测为1. 1.1 预测函数的表示 1.2参数的求解 二.代码实现 函数sigmoid计算相应的函数值:gradAscent实现的batch-梯度上升,意思就是在每次迭代中所有数据集都考虑到了:而stoGradAscen

本文实例讲述了PHP各种常见经典算法.分享给大家供大家参考,具体如下: 冒泡排序算法 public function test() { $arr = array(43, 54, 62, 21, 66, 32, 78, 36, 76, 39); var_dump($arr); echo '
'; $arr = $this->bubbleSort($arr); var_dump($arr); } public function bubbleSort($arr) { $len = co

一 实用且必用的小脚本代码二 鼠标旁边的提示信息,类似与163登录后的页面提示效果三 如果文字过长,则将过长的部分变成省略号显示四 滚动的图片五 接收键盘指令的脚本六 让你的文本链接渐隐渐显七 类似与QQ的好友/黑名单之类的树型菜单-----推荐八 很多的脚本翻页------推荐九 DIV的透明层实现十 JSP页面自动生成html页面/或任何格式页面-----推荐 十一 超级强大的表单验证-----推荐十二 漂亮的脚本日历十三 进入,退出页面的各种效果!十四 很酷的效果,表格被选中回变颜色十五

本文实例讲述了javascript常用算法.分享给大家供大家参考,具体如下: 入门级算法-线性查找-时间复杂度O(n)--相当于算法界中的HelloWorld //线性搜索(入门HelloWorld) //A为数组,x为要搜索的值 function linearSearch(A, x) { for (var i = 0; i < A.length; i++) { if (A[i] == x) { return i; } } return -1; } 二分查找(又称折半查找) - 适用于已排好序的

7.使用php描述冒泡排序,PHP 数据结构 算法描述 冒泡排序 bubble sort相关推荐

  1. Java的知识点18——数组存储表格数据、冒泡排序的基础算法、冒泡排序的优化算法、二分法查找

    数组存储表格数据 package cn.dym08; import java.util.Arrays; public class Test09 {public static void main(Str ...

  2. 【大话数据结构算法】冒泡排序

    起泡排序又称为冒泡排序.它是通过一系列的"交换"动作完成的.首先将第一和第二个记录进行比较,如果第一个记录大于第二个记录,则两者交换位置,否则保持原位置不变:然后比较第二和第三个记 ...

  3. C++Bubble sort冒泡排序的实现算法(附完整源码)

    C++Bubble sort冒泡排序的实现算法法 C++Bubble sort冒泡排序的实现算法完整源码(定义,实现,main函数测试) C++Bubble sort冒泡排序的实现算法完整源码(定义, ...

  4. 排序算法——冒泡排序(Bubble Sort)

    排序算法--冒泡排序(Bubble Sort) 算法简介(Introduction) Bubble sort is to compare adjacent elements of the list a ...

  5. python冒泡排序_5种python方法实现冒泡排序可视化:Bubble Sort Visualizer

    1 说明: ===== 1.1 冒泡排序: 1.1.1 原理:比较两个相邻的元素,将值大的元素交换至右端. 1.1.2 来源:由来是因为越大的元素会经由交换慢慢"浮"到数列的顶端, ...

  6. Recursive Bubble Sort(递归冒泡排序)

    程序来源:Recursive Bubble Sort 迭代冒泡排序算法: // Iterative Bubble Sort bubbleSort(arr[], n) {for (i = 0; i &l ...

  7. 数据结构与算法之冒泡排序

    数据结构与算法之冒泡排序 目录 基本介绍 冒泡过程图解 代码实现 1. 基本介绍 冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元 ...

  8. 数据结构与算法:十大排序算法之冒泡排序

    数据结构与算法:十大排序算法之冒泡排序 package array;import java.util.Arrays;//冒泡排序 //1.比较数组中两个相邻的元素,如果第一个数比第二个数大,我们就交换 ...

  9. 【数据结构与算法】冒泡排序算法(BubbleSort)

    目录 1.缘起 2.BubbleSort 算法描述 3.用图示描述 BubbleSort 算法 4.C 语言描述 5.Python 语言描述 6.Java 语言描述 7.总结 1.缘起 冒泡排序算法 ...

最新文章

  1. sersync 文件同步系统(一) 服务初步搭建
  2. java中怎样存储遍历的数据_【数据算法】Java实现二叉树存储以及遍历
  3. 56岁潘石屹报名全国青少年编程能力等级测试,昔日地产大亨,今陷Python难抽身...
  4. python3版本之间的区别-python3.6与3.4版本的区别是什么?
  5. Qt for ios 在 xcode 中编译(便于调试)
  6. inxni扫地机器人_实用型助手,inxni以内扫地机器人 X332
  7. opencv学习笔记3:像素处理
  8. filter(HTML)滤镜用法
  9. The 12th Zhejiang Provincial Collegiate Programming Contest - I Earthstone Keeper浙江省赛
  10. U-boot给kernel传参数和kernel读取参数—struct tag
  11. Spring mvc 返回jsp
  12. 泰山站和泰安站怎么区分?
  13. 基于51单片机的简易计算器
  14. 上位机和下位机之间局域网的搭建
  15. haswell主板linux驱动下载,Intel首版Haswell核芯显卡驱动下载
  16. Android透明字体画法
  17. 2016年世界各国gdp排名 人均gdp排名 人口排名
  18. 计算机应用基础南丁格尔,关于单元基础训练的习题
  19. b站电脑测试用什么软件,使用BiliBili访问诊断工具检测哔哩哔哩网络的方法
  20. linux安装git并配置GitHub账号,本地与GitHub之间进行文件的上传(push)、下载(克隆)、更新

热门文章

  1. 【python自动化办公04】word操作-word文字颜色修改
  2. python语法问题
  3. 【GVA】gin gorm多对多many2many更新数据时级联更新关联表数据的正确写法
  4. go ...打散切片
  5. go gin框架:Any响应任何请求类型
  6. k8s常用对象图示:Deployment、ReplicaSet、Pod它们的关系
  7. Hadoop Yarn公平调度器的特点、缺额、DRF策略
  8. Maven修改本地仓库位置
  9. nginx tomcat集群实现session共享
  10. Java实现拼音转汉字