冒泡排序Bubble Sort的PHP实现。代码中函数说明:

  • out_arr,用于将数组输出成一个字符串,以便查看
  • bubblesort,第一种实现方案,从后往前依次选出需要的值,这里是较大的
  • bubblesort2,第二种方案,从前往后一次选中需要的值,这里是最小的
  • range,产生一个1到20的数组
  • shuffle,打乱数组
    01
    function out_arr($arr) {
    02
    return implode(', ', $arr).'
    03
    ';
    04
    }
    05 06
    function bubblesort($arr) {
    07
    for ($i = 0; $i < count($arr) - 1; $i++ ) {
    08
    for($j = 0; $j < count($arr) - $i - 1; $j++ ) {
    09
    if( $arr[$j] > $arr[$j+1] ) {
    10
    $tmp = $arr[$j];
    11
    $arr[$j] = $arr[$j + 1];
    12
    $arr[$j + 1] = $tmp;
    13
    }
    14
    }
    15
    echo sprintf('%3d', $i).' : '.out_arr($arr);
    16
    }
    17
    }
    18 19 20
    function bubblesort2($array) {
    21
    $count = count($array);
    22
    for($i=0; $i<$count; $i++) {
    23
    for($j=$count-1; $j>$i; $j--) {
    24
    if ($array[$j] < $array[$j-1]) {
    25
    $tmp = $array[$j];
    26
    $array[$j] = $array[$j-1];
    27
    $array[$j-1] = $tmp;
    28
    }
    29
    }
    30
    echo sprintf('%3d', $i).' : '.out_arr($array);
    31
    }
    32
    return $array;
    33
    }
    34
    echo '<pre>';
    35
    $arr = range(1, 20);
    36
    shuffle($arr);
    37
    echo 'ORG : '.out_arr($arr);
    38
    bubblesort2($arr);
    39
    echo '</pre>';

      

冒泡排序Bubble Sort的PHP实现。代码中函数说明:

  • out_arr,用于将数组输出成一个字符串,以便查看
  • bubblesort,第一种实现方案,从后往前依次选出需要的值,这里是较大的
  • bubblesort2,第二种方案,从前往后一次选中需要的值,这里是最小的
  • range,产生一个1到20的数组
  • shuffle,打乱数组
01 function out_arr($arr) {
02     return implode(', '$arr).'
03 ';
04 }
05  
06 function bubblesort($arr) {
07     for ($i = 0; $i count($arr) - 1; $i++ ) {
08         for($j = 0; $j count($arr) - $i - 1; $j++ ) {
09             if$arr[$j] > $arr[$j+1] ) {
10                 $tmp $arr[$j];
11                 $arr[$j] = $arr[$j + 1];
12                 $arr[$j + 1] = $tmp;
13             }
14         }
15         echo sprintf('%3d'$i).' : '.out_arr($arr);
16     }
17 }
18  
19  
20 function bubblesort2($array) {
21     $count count($array);
22     for($i=0; $i<$count$i++) {
23         for($j=$count-1; $j>$i$j--) {
24             if ($array[$j] < $array[$j-1]) {
25                 $tmp $array[$j];
26                 $array[$j] = $array[$j-1];
27                 $array[$j-1] = $tmp;
28             }
29         }
30         echo sprintf('%3d'$i).' : '.out_arr($array);
31     }
32     return $array;
33 }
34 echo '<pre>';
35 $arr = range(1, 20);
36 shuffle($arr);
37 echo 'ORG : '.out_arr($arr);
38 bubblesort2($arr);
39 echo '</pre>';

冒泡排序的PHP实现 Bubble Sort的更多相关文章

  1. 冒泡排序和选择排序(bubble sort and selection sort)

    Bubble sort Basic Method: import random nums = [random.randint(1,20) for _ in range(10)] #制作一个无序数字列表 ...

  2. Bubble Sort(冒泡排序)

    冒泡排序(英语:Bubble Sort,台湾另外一种译名为:泡沫排序)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行 ...

  3. Java中的经典算法之冒泡排序(Bubble Sort)

    Java中的经典算法之冒泡排序(Bubble Sort) 神话丿小王子的博客主页 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一 ...

  4. HDU 5775 Bubble Sort(冒泡排序)

    p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...

  5. 冒泡排序(Bubble Sort)

    常见的排序算法有Bubble Sort.Merge Sort.Quick Sort 等,所有排序算的基本法思想都是把一个无限大的数据规模通过算法一步步缩小,指导最后完成排序. 这里分享一下Buuble ...

  6. [算法] 冒泡排序 Bubble Sort

    冒泡排序(Bubble Sort,台湾另外一种译名为:泡沫排序)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没 ...

  7. c++算法联系,冒泡排序,bubble sort,插入排序,insert sort,

    #include <iostream.h> #define  MAX 100 void dispaly(int a[],int n) {     for(int i=0;i<n;i+ ...

  8. java排序算法之冒泡排序(Bubble Sort)

    java排序算法之冒泡排序(Bubble Sort) 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2个数 ...

  9. 排序算法 (sorting algorithm)之 冒泡排序(bubble sort)

    http://www.algolist.net/Algorithms/ https://docs.oracle.com/javase/tutorial/collections/algorithms/ ...

随机推荐

  1. BigDecimal使用整理

    BigDecimal使用整理 一.     BigDecimal简介 计算机计算中无论是float还是double都是浮点数,由于计算机是二进制的,导致在在浮点数计算时会出现精度丢失,因此引入BigD ...

  2. Navigation

    Makedown常用语法 1.常用标题 # 代表h1(一级标题) ## 代表h2(二级标题) ### 代表h3(三级标题) #### 代表h4(四级标题) ##### 代表h5(五级标题) ##### ...

  3. js四则运算符

    只有当加法运算时,其中一方是字符串类型,就会把另一个也转为字符串类型.其他运算只要其中一方是数字,那么另一方就转为数字.并且加法运算会触发三种类型转换:将值转换为原始值,转换为数字,转换为字符串. & ...

  4. apply & call

    一.意义 function.apply(obj,args) obj代替function里this对象 args作为参数传给function 二.实例 1. obj代替function里this对象 f ...

  5. /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15"" not found

    解决错误 呈现该错误的原因是当前的GCC版本中,没有GLIBCXX_3.4.15,须要安装更高版本. 我们可以输入:strings /usr/lib/libstdc++.so.6 | grep GLI ...

  6. 001-web基本程序搭建

    一.IDEA创建项目 1.基本项目创建 1.1.基本步骤 1.Create New Project [File→New→Project]→New Project 2.maven→group.artif ...

  7. zabbix监控Mariadb数据库

    1.介绍: zabbix自带的MySQL插件来监控mysql数据库,但是太过简陋,基本没有啥作用,所以需要做更详细的监控,而percona就有这个详细监控的模版以及脚本,正好拿过来用. percona ...

  8. 字典,字符串,元组,字典,集合set,类的初步认识,深浅拷贝

    Python之路[第二篇]:Python基础(一)   入门知识拾遗 一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. if 1==1: name = 'Jaso ...

  9. PAT 天梯赛 L1-038. 新世界 【水】

    题目链接 https://www.patest.cn/contests/gplt/L1-038 AC代码 #include <iostream> #include <cstdio&g ...

  10. loadrunder之脚本篇——Run-time Settings之Pacing

      As soon as the previous iteration ends 前一个迭代一结束就尽可能快的开始新一轮的迭代   After the previous iteration ends ...