php 排序算法

越来越多的公司喜欢在PHP程序员的笔试题中增加排序算法部分,以此来印证PHP程序的计算机基础。今天给大家列出4中常见的PHP排序算法。

操作方法

  • 01

    1.冒泡排序:(优化过后的) 代码如下: //冒泡排序 $array = array(11,-3,51,-7,9,100,2,-56,32,21); $flag = false; for ($i = 1;$i < count($array);$i++){ for ($j = 0;$j < count($array) - $i;$j++){ if ($array[$j] > $array[$j + 1]){ $temp = $array[$j]; $array[$j] = $array[$j + 1]; $array[$j + 1] = $temp; $flag = true; } } if (!$flag){ break; } $flag = false; } foreach ($array as $value){ echo $value.'&nbsp '; }

  • 02

    2.选择排序(自己优化了下) 代码如下: $array3 = array(11,-3,51,-7,9,100,2,-56,32,21); for ($i = 0;$i < count($array3) - 1;$i++){ for ($j = $i + 1;$j < count($array3);$j++){ if ($array3[$j] < $array3[$i]){ $temp = $array3[$i]; $array3[$i] = $array3[$j]; $array3[$j] = $temp; } } } foreach ($array3 as $value){ echo $value.'&nbsp; '; }

  • 03

    3.插入排序: 代码如下: $array4 = array(11,-3,51,-7,9,100,2,-56,32,21); for ($i = 1;$i < count($array4);$i++){ $insertVal = $array4[$i]; $insertIndex = $i - 1; while ($insertIndex >=0 && $insertVal < $array4[$insertIndex]){ $array4[$insertIndex + 1] = $array4[$insertIndex]; $insertIndex--; } $array4[$insertIndex + 1] = $insertVal; } foreach ($array4 as $value){ echo $value.'&nbsp; '; }

  • 04

    4.快速排序 代码如下: function quickSort($arr){ if (count($arr) < 1){ return $arr; } $key = $arr[0]; $left_arr = array(); $right_arr = array(); for($i=1; $i < count($arr); $i++){ if($arr[$i] <= $key){ $left_arr[] = $arr[$i]; } else { $right_arr[] = $arr[$i]; } } $left_arr = quickSort($left_arr); $right_arr = quickSort($right_arr); return array_merge($left_arr, array($key), $right_arr); } $arr = array(11,-3,51,-7,9,100,2,-56,32,21); $arr2= quickSort($arr); foreach ($arr2 as $key=>$value){ echo $value."&nbsp;&nbsp;"; }

(0)

相关推荐

  • 图解8大排序算法讲解

    排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存. 常见的内部排序算法有:插入排序.希尔排序. ...

  • C语言排序算法:[3]教你理解简单选择排序。

    简单选择排序是经常用到的一种排序算法,它的原理是什么?如何实现,坐标X为您一一解答. 操作方法 01 一.简单选择排序一句话概括:每次选择无序数列中最小的将其放在有序数列的最后. 02 二.在简单选择 ...

  • Java实现的几个常用排序算法详细解读

    排序算法很多地方都会用到,近期又重新看了一遍算法,并自己简单地实现了一遍,特此记录下来,为以后复习留点材料. 操作方法 01 1. 选择排序 选择排序的基本思想是遍历数组的过程中,以 i 代表当前需要 ...

  • 怎么实现鸡尾酒排序算法

    在我们做开发中,不论你采用什么语言做开发工具,都需要积累,或者掌握一些算法,作为我们解决一些业务的手段:其中,在排序的算法,鸡尾酒排序作为经典算法中的一种,历来为广大程序员所喜爱,笔者本人也是受益匪浅 ...

  • PHP数组--排序函数

    有时候,一个php函数就能省去我们大量的代码,在写程序的时候,如果能灵活运用这些函数,将大大节省时间,提高效率,下面总结的是php常用的数组排序函数,phper一定会用到的. 操作方法 01 1.so ...

  • c++之数据排序

    信息获取后通常需要进行处理,处理后的信息其目的是便于人们的应用.信息处理方法有多种,通常有数据的排序.查找.插入.删除.归并等操作. 选择排序 01 (1) 基本思想:每一趟从待排序的数据元素中选出最 ...

  • C语言插入排序算法及代码

    插入排序是排序算法的一种,它不改变原有的序列(数组),而是创建一个新的序列,在新序列上进行操作.这里以从小到大排序为例进行讲解. 操作方法 01 基本思想及举例说明 插入排序的基本思想是,将元素逐个添 ...

  • 如何用java代码实现选择排序和冒泡排序

    冒泡排序和选择排序是排序算法中比较简单和容易实现的算法.冒泡排序的思想为:每一次排序过程,通过相邻元素的交换,将当前没有排好序中的最大(小)移到 数组的最右(左)端.而选择排序的思想也很直观:每一次排 ...

  • java排序方法

    JAVA是一门强大的面向对象的语音,其包含了多种数据结构,对于数组这种数据结构我们往往需要对里面的数据进行排序操作.JAVA语音很强大和灵活,所以排序的方法也有很多.下面就说几个JAVA常用的排序方法 ...