码迷,mamicode.com
首页 > 编程语言 > 详细

排序算法

时间:2016-06-19 22:57:50      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

  1. 冒泡排序

    • 实现原理

      ① 首先将所有待排序的数字放入工作列表中。

      ② 从列表的第一个数字到倒数第二个数字,逐个检查:若某一位上的数字大于他的下一位,则将它与它的下一位交换。

      ③ 重复步骤②,直至再也不能交换。

    • 代码实现

      技术分享
      技术分享
       1 <?php
       2 function bubbingSort(array $array)
       3 {
       4     for($i=0, $len=count($array)-1; $i<$len; ++$i)
       5     {
       6         for($j=$len; $j>$i; --$j)
       7         {
       8             if($array[$j] < $array[$j-1])
       9             {
      10                 $temp = $array[$j];
      11                 $array[$j] = $array[$j-1];
      12                 $array[$j-1] = $temp;
      13             }
      14         }
      15     }
      16     return $array;
      17 }
      18 
      19 print ‘<pre>‘;
      20 print_r(bubbingSort(array(1,4,22,5,7,6,9)));
      21 print ‘</pre>‘;
      技术分享
      技术分享

       

  2. 快速排序

    • 实现原理

      采用分治的思想:先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。

    • 代码实现

      技术分享
      技术分享
       1 function quickSort(array $array)
       2 {
       3     $len = count($array);
       4     if($len <= 1)
       5     {
       6         return $array;
       7     }
       8     $key = $array[0];
       9     $left = array();
      10     $right = array();
      11     for($i=1; $i<$len; ++$i)
      12     {
      13         if($array[$i] < $key)
      14         {
      15             $left[] = $array[$i];
      16         }
      17         else
      18         {
      19             $right[] = $array[$i];
      20         }
      21     }
      22     $left = quickSort($left);
      23     $right = quickSort($right);
      24     return array_merge($left, array($key), $right);
      25 }
      26 
      27 print ‘<pre>‘;
      28 print_r(quickSort(array(1,4,22,5,7,6,9)));
      29 print ‘</pre>‘;

排序算法

标签:

原文地址:http://www.cnblogs.com/lv448395223/p/5598844.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!