冒泡排序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. dev 转自

    .隐藏最上面的GroupPanel gridView1.OptionsView.ShowGroupPanel=false; .得到当前选定记录某字段的值 sValue=Table.Rows[gridV ...

  2. Python3.6全栈开发实例[022]

    22.完成彩票36选7的功能. 从36个数中随机的产生7个数. 最终获取到7个不重复的数据作为最终的开奖结果.随机数: from random import randintrandint(0, 20) ...

  3. python的分布式爬虫框架

    scrapy + celery: Scrapy原生不支持js渲染,需要单独下载[scrapy-splash](GitHub - scrapy-plugins/scrapy-splash: Scrapy ...

  4. 解读mysql主从配置及其原理分析(Master-Slave)

    在windows下配置的,后面会在Linux下配置进行测试,需要配置mysql数据库同步的朋友可以参考下. 1.在主数据库服务器为从服务器添加一个拥有权限访问主库的用户:GRANT REPLICATI ...

  5. Python API:openstack

    OpenStack 是一个越来越流行的.用于部署基础架构即服务 (IaaS) 云的开源解决方案.OpenStack 附带了一个仪表板 Web 应用程序,非常适合执行手动任务,比如启动单个虚拟机 (VM ...

  6. 剑指offer 面试18题

    面试18题: 题目:删除链表中的节点 题一:在O(1)时间内删除链表节点.给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间内删除该节点. 解题思路:我们要删除节点i,先把i的下一个节点j ...

  7. English Phrases

    @1:Phrases requst sth from/of sb 向某人要求某物 a new lease on life   重获新生.焕发生机 state of the art 最先进的 at th ...

  8. 前端基础之JavaScript_(4)_js的作用域

    js作用域 作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期.在JavaScript中,变量的作用域有全局作用域和局部作用域两种. js的作用域 1. 全局作用域(Glob ...

  9. iOS Healthkit 使用探索分析 🌛

    一 基本认知层面: HealthKit框架提供了一个结构,应用可以使用它来分享健康和健身数据.HealthKit管理从不同来源获得的数据,并根据用户的偏好设置,自动将不同来源的所有数据合并起来.应用还 ...

  10. HP小型机维护

    (一)文件系统维护 . 监控文件系统的使用 # bdf . 监控文件目录的使用 # du -sk /myfs2/* (二)网络系统维护 1. 相关配置文件 1). 主机名定义文件:/etc/hosts ...