php编程冒泡排序

//冒泡排序

$arr=array(23,5,26,4,9,85,10,2,55,44,21,39,11,16,55,88,421,226,588);

$n =count($arr);

//echo $n;

for($h=0;$h<$n-1;$h++){//外层循环n-1

for($i=0;$i<$n-$h-1;$i++){

if($arr[$i]>$arr[$i+1]){//判断数组大小,颠倒位置

$kong=$arr[$i+1];

$arr[$i+1]=$arr[$i];

$arr[$i]=$kong;

}

}

}

var_dump($arr);

时间: 2024-11-16 10:18:37

php编程冒泡排序的相关文章

shell编程-1到100的求和与冒泡排序

Shell编程 一.  for循环 生成列表 {起始数..结束数} 命令生成列表 `seq [起始数] [步进长度] 结束数 ` for  l in {1..5};do for  l in `seq 5`;do 求1到100的累加和 1 #!/bin/bash 2 declare -i SUM=0 3 4 for l in {1..100};do 5 SUM=$[$SUM+$i] 6 done 7 8 echo "$SUM" 二. 数组 //数组变量定义 $ arr={1,2,3,4,

C语言之通过冒泡排序浅谈编程思想

写这篇博文的目的是想起到抛砖引玉的作用,还请大牛们留下一些先进的思想,让小菜学习一下.下面入正题. 复习C语言怎么能少的了冒泡呢,记得刚学C语言那会,感觉冒泡排序真的太复杂了,理解不大了,嗯!还是当时的功底不够啊.当时一些冒泡都头疼,感觉这么多的循环(哈哈!!其实也就俩,当时就是感觉太复杂).现在再写冒泡排序,感觉自己当时学C语言的时候是不是太笨了呢. 仔细想想,之前写冒泡之所以感觉到难是没有真正的理解冒泡的思想,就硬着头皮写,结果可以想象,是以失败而告终的.现在写代码也有一段时间了,学的编程语

shell脚本编程之冒泡排序脚本实现(解释非常详细,涉及正则表达式)

shell脚本编程之冒泡排序脚本实现 ? 冒泡排序作为编程中最为基础的算法,对于计算机编程初学者而言是非常值得多研究和多多尝试编写的.对于编程而言,优劣的不是语言,而是实现功能的逻辑思维和突如其来的灵感. ? 下面将给出使用shell实现冒泡排序的脚本,其中涉及的正则表达式需要细细理解.具体解释在下面的注释中有备注. #!/bin/bash #学习shell脚本过程中实现循环输入数生成数组,然后使用冒泡排序法进行从小到大排序 #Author:lokott #Version: 3.1 #冒泡排序法

javascript中的冒泡排序法

在开发中,对一组数据进行有序地排列是经常需要做的事情,所以掌握几种甚至更多的排序算法是绝对有必要的 这里要介绍的是排序算法中较简单的一种算法:冒泡排序. 先尝试用最简单的想法去实现排序,以此来比较学习冒泡排序 设有一数组,其大小为10个元素(int   str[10])数组内的数据是无序.现在要求我们通过编程将这个无序的数组变成一个从小到大排序的数组(从下标为0开始) . 按照题目的要求,毫无疑问,正确的结果应该就像这样: 1 2 3 4 5 6 7 8 9 10   要做到这样,最简单和最直接

多线程编程基础知识

多线程编程基础知识 http://www.cnblogs.com/cy163/archive/2006/11/02/547428.html 当前流行的Windows操作系统能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程提供了多任务处理的能力.用进程和线程的观点来研究软件是当今普遍采用的方法,进程和线程的概念的出现,对提高软件的并行性有着重要的意义.现在的大型应用软件无一不是多线程多任务处理,单线程的软件是不可想象的.因此掌握

三、基于交换的排序算法(冒泡排序和快速排序)

1.冒泡排序 基本思想:若从小到大排序,从头开始,两两比较,大的放在后面,将待排序元素从左到右比较一遍成为“一次冒泡”,每次冒泡都将待排序数列中最大的关键字交换到最后,直到所有元素有序为止. 算法复杂度:O(2^n) 改进方法:可能排序几次后,数列已经有序,但是还没有进行完n次循环.可以在交换的代码段中设置一个标志位,如果该标志位改变说明有交换(还未有序),否则用break退出循环. //1.冒泡排序 //注意数组下标溢出 void Bubble(int *array, int n) { int

[原创译书] JS函数式编程 2.3 函数式程序员的工具集

?? Functional Programming in Javascript 主目录第二章 函数式编程基础上一节 与函数共舞 函数式程序员的工具集 如果你仔细看了到目前为止出现过的示例代码,你会发现这里面的一些方法不太熟悉. 它们是map().filter()和reduce()函数,它们对任何语言的函数式编程都至关重要. 它们可以让你不必使用循环和语句,写出更简洁的代码. map().filter()和reduce()函数组成了函数式程序员工具集的核心部分,这个工具集包括一系列纯的. 高阶的函

【Scala编程】函数式风格编写排序算法

有关Scala编程实例 在刚开始学习一门编程语言的时候,总是想去写一些比较大的程序和项目,但是由于基础不扎实,往往欲速则不达.所以,只能一步一步来,通过一些经典的小例子来实践和锻炼,最终不断加深编程的技能,坚持下来,相信慢慢就能够变得熟练. 冒泡排序.选择排序.插入排序的一般写法 这三种排序方法没有太多要说的东西,这里的编程方式和指定式方式没什么差别. 这里之所以使用Array数据,因为Array数组是可变的对象序列,其元素值可以改变,而List类对象的元素是不可变的. 这里的写法不是函数式风格

《老码说编程之玩转Swift江湖》一书终于出版了

今天我们的第一本基于XCode6.1最新版Swift语法编写的书籍上市发售了,它有个可爱的名字:<老码说编程之玩转Swift江湖>,还有个漂亮的封面: 本书不是出身名门,它只是五位IT老码农的孩子 五月份的一天,我们几个老码农一起去软件园门口的小面馆吃饭,聊天之余突然对码农的生活产生了很多的抱怨,无聊,没事做,忧虑未来的路在何方,最后大家的意见趋于一致,决定学点什么或者做点什么,通过这次的讨论,一个以学习为主的小团队诞生了并且取了一个无奈的名字:老码团队-OldCoder,听起来多么的苍凉.