【冒泡排序---《程序员小灰》】教程文章相关的互联网学习教程文章

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

代码如下:<?php /** * 冒泡排序 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]) // 从小到大 ...

php 冒泡排序 交换排序法

代码如下:$a=array(11,2,13,4,22); $num = count($a); for($i=0;$i<$num;$i++){ for($j=0;$j<$num;$j++){ if($a[$i]<$a[$j]){ $temp = $a[$i]; $a[$i]=$a[$j]; $a[$j]=$temp; } } } print_r($a);

php排序算法(冒泡排序,快速排序)

冒泡排序实现原理 ① 首先将所有待排序的数字放入工作列表中。② 从列表的第一个数字到倒数第二个数字,逐个检查:若某一位上的数字大于他的下一位,则将它与它的下一位交换。 ③ 重复步骤②,直至再也不能交换。 代码实现 代码如下:<?php function bubbingSort(array $array) { for($i=0, $len=count($array)-1; $i<$len; ++$i) { for($j=$len; $j>$i; --$j) { if($array[$j] < $array[$j-1]...

基于php冒泡排序算法的深入理解

交换排序的基本思想:两两比较待排序的数据,如果发生逆序,则交换之,直到全部数据都排好序为止。?冒泡排序的基本思想:1.从后往前,扫描所有的数据,如果相邻的两个数发生逆序,则互换。--第1趟冒泡2.从后往前,扫描最后一个到第2个数据,如果相邻的两个数发生逆序,则互换。--第2趟冒泡3.如此依次进行,直到进行n-1趟冒泡,或者在某趟冒泡中,没有逆序的情况即可提前结束。 代码如下:<script>var arr = [15,8,7,9,10,0]; v...

PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解

数据结构很重要,算法+数据结构+文档=程序使用PHP描述冒泡排序算法,对象可以是一个数组 代码如下://冒泡排序(数组排序)function bubble_sort($array) {$count = count($array);if ($count <= 0)return false;for($i=0; $i<$count; $i++){for($j=$count-1; $j>$i; $j–){if ($array[$j] < $array[$j-1]){$tmp = $array[$j];$array[$j] = $array[$j-1];$array[$j-1] = $tmp;}}}return $array; }使用PHP描述顺序查找和二分查找(也...

php冒泡排序与快速排序实例详解

本文实例分析了php冒泡排序与快速排序算法。分享给大家供大家参考,具体如下: $a=array(3,8,1,4,11,7); print_r($a); $len = count($a); //从小到大 for($i=1;$i<$len;$i++) { for($j=$len-1;$j>=$i;$j--) if($a[$j]<$a[$j-1]) {//如果是从大到小的话,只要在这里的判断改成if($b[$j]>$b[$j-1])就可以了$x=$a[$j];$a[$j]=$a[$j-1];$a[$j-1]=$x; } } print_r($a);j //另一种方法 从小到大 $b=array(4,3,8,9,2,1); $len=count($b); ...

php数组冒泡排序算法实例

本文实例讲述了php数组冒泡排序算法。分享给大家供大家参考,具体如下: <?php /*@冒泡排序算法 */ $array=array(5,45,22,11,32,28,35,56,17,21,92); $len=count($array);//计算数组长度 for($i=0;$i<$len-1;$i++){//需要比较$len-1轮,每一轮需要比较$len-1次for($j=0;$j<$len-1;$j++){//需要比较$len-1次,因为循环到最后一个数时,后面没有数可以比较了,所以循环到倒数第二个数正好$k=$j+1;//得到当前数的后一个数的下标,我们依...

PHP实现冒泡排序的简单实例

1、首先我们必须弄清楚什么是冒泡排序,不理解冒泡排序的原理,我们就无法写出代码。 冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为...

PHP简单实现冒泡排序的方法

本文实例讲述了PHP简单实现冒泡排序的方法。分享给大家供大家参考,具体如下: <?php $files = array("file11.txt","file22.txt","file1.txt","file2.txt"); function mySort($arr,$nat=false) {for($i=0;$i<count($arr);$i++) {for($j=0;$j<count($arr)-$i-1;$j++) {if($nat) {//按照strnatcmp()自然排序函数if(strnatcmp($arr[$j], $arr[$j+1])>0) {$tmp = $arr[$j];$arr[$j] = $arr[$j+1];//从小到大排$arr[$j+1] = $tmp;}} els...

PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】

php三种基础算法:冒泡,插入和快速排序法 $array = array(2,3,5,6,9,8,1);//冒泡排序思想,前后元素比较 function sort_bulldle($array){$num = count($array);for($i=0; $i<$num; $i++){$tmp = $array[$i];for ($j=$i-1; $j>=0; $j--) {if ($tmp < $array[$j]) {$arr[$j+1] = $arr[$j];$arr[$j] = $tmp;} else {break;}}}return $array; }//插入排序思想,就是从第二个元素开始,到最后一个元素都是这个需要排序的元素 function ...

PHP排序算法之冒泡排序(Bubble Sort)实现方法详解

本文实例讲述了PHP排序算法之冒泡排序(Bubble Sort)实现方法。分享给大家供大家参考,具体如下: 基本思想: 冒泡排序是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。 最简单排序实现: 我们先来看看在没有学习各种排序方法前经常使用的排序方法(至少我是这样。。。。): //这里使用了类型提示(type hint) array,不熟悉或者不习惯的同学大可去掉,不影响运算结果 funct...

【PHP面试】面试必问的两个简单排序算法讲解:冒泡排序和快速排序【代码】【图】

一般应对面试,我们无可厚非的去刷下面试题。对于PHP开发者来说,除了要熟悉自己所做的项目,还有懂的基本的算法。下面来分享下PHP面试中常会问到的算法:冒泡排序和快速排序。 冒泡排序:一一对比排序基本思想:重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。 图解: 1.第一次:拿着...

用PHP写的一个冒泡排序法的函数简单实例

前几天遇到的一道关于算法的考题,要求用PHP语言实现对一个数组进行排序,我写了一个采用冒泡排序法的函数,和大家分享一下。<? //冒泡排序法 function bubble_sort($array) {$count = count($array);if($count <= 0){return false;}for($i=0; $i<$count; $i++){for($k=$count-1; $k>$i; $k--){if($array[$k] < $array[$k-1]){$tmp = $array[$k];$array[$k] = $array[$k-1];$array[$k-1] = $tmp;}}}return $array; } $arr = array(...

浅谈php冒泡排序

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]; ...

又一个PHP实现的冒泡排序算法分享

经典的冒泡排序法一直是许多程序沿用的其中一种排序法,话说冒泡排序法在效率上比PHP系统函数sort更高效。本章不讨论性能,所以就不拿它来跟系统性能做对比了。 冒泡排序大概的意思是依次比较相邻的两个数,然后根据大小做出排序,直至最后两位数。由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。但其实在实际过程中也可以根据自己需要反过来用,大树往前放,小数往后放。<?php /*** PHP中的冒...