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

yipeiwu_com6年前PHP代码库

交换排序的基本思想:两两比较待排序的数据,如果发生逆序,则交换之,直到全部数据都排好序为止。
•冒泡排序的基本思想:
1.从后往前,扫描所有的数据,如果相邻的两个数发生逆序,则互换。--第1趟冒泡
2.从后往前,扫描最后一个到第2个数据,如果相邻的两个数发生逆序,则互换。--第2趟冒泡
3.如此依次进行,直到进行n-1趟冒泡,或者在某趟冒泡中,没有逆序的情况即可提前结束。

复制代码 代码如下:

<script>
var arr = [15,8,7,9,10,0];

var _len = arr.length;

alert("排序之前:"+arr);

var exchange=0;
var temp = 0;
for(var i=0; i<arr.length;i++)
{
  exchange=0;
  for(var j=arr.length;j>=i;j--)
  {
     if(arr[j] < arr[i])
     {
       temp = arr[j];
       arr[j] = arr[i];
       arr[i] = temp;
       exchange = 1;     
     }
  }
  if(exchange == 0)
  {
     break;
  }
}

alert("排序之后:"+ arr);

</script>


相关文章

PHP回溯法解决0-1背包问题实例分析

本文实例讲述了PHP回溯法解决0-1背包问题的方法。分享给大家供大家参考。具体分析如下: 这段代码是根据《软件设计师》教程的伪代码写的; 最麻烦的不是伪代码改成php,而是数组下标从0开...

用C/C++扩展你的PHP 为你的php增加功能

用C/C++扩展你的PHP 为你的php增加功能

英文版下载: PHP 5 Power Programming https://www.jb51.net/books/61020.html PHP取得成功的一个主要原因之一是她拥有大量的可...

PHP中PDO的错误处理

PHP中PDO的错误处理

面向对象的方式 先看看如果连接错误等的处理,PHP中PDO的错误处理,使用面向对象的方式来处理: 复制代码 代码如下: <?php try {  $db = new PDO('my...

php的POSIX 函数以及进程测试的深入分析

php的POSIX 函数以及进程测试的深入分析

复制代码 代码如下:<?phpecho posix_getpid(); //8805sleep(10);?> 再用 #ps -ax 这个时候如果多开开个浏览器请求,就会发...

PHP获取指定月份第一天和最后一天的方法

本文实例讲述了PHP获取指定月份第一天和最后一天的方法。分享给大家供大家参考。具体如下: 复制代码 代码如下:$date = date(time()); $start_date = da...