`

PHP实现常见排序算法

阅读更多

<?
//插入排序(一维数组)
function insert_sort($arr){
 $count = count($arr);
 for($i=1; $i<$count; $i++){
 $tmp = $arr[$i];
 $j = $i - 1;
 while($arr[$j] > $tmp){
 $arr[$j+1] = $arr[$j];
 $arr[$j] = $tmp;
 $j--;
 }
 }
 return $arr;
}
//选择排序(一维数组)
function select_sort($arr){
 $count = count($arr);
 for($i=0; $i<$count; $i++){
 $k = $i;
 for($j=$i+1; $j<$count; $j++){
 if ($arr[$k] > $arr[$j])
 $k = $j;
 if ($k != $i){
 $tmp = $arr[$i];
 $arr[$i] = $arr[$k];
 $arr[$k] = $tmp;
 }
 }
 }
 return $arr;
}
//冒泡排序(一维数组)
function bubble_sort($array){
 $count = count($array);
 if ($count <= 0) return false;
 
 for($i=0; $i<$count; $i++){
 for($j=$count-1; $j>$i; $j--){
 if ($array[$j] < $array[$j-1]){
 $tmp = $array[$j];
 $array[$j] = $array[$j-1];
 $array[$j-1] = $tmp;
 }
 }
 }
 return $array;
}
//快速排序(一维数组)
function quick_sort($array){
 if (count($array) <= 1) return $array;

 $key = $array[0];
 $left_arr = array();
 $right_arr = array();
 for ($i=1; $i<count($array); $i++){
 if ($array[$i] <= $key)
 $left_arr[] = $array[$i];
 else
 $right_arr[] = $array[$i];
 }
 $left_arr = quick_sort($left_arr);
 $right_arr = quick_sort($right_arr);
 
 return array_merge($left_arr, array($key), $right_arr);

}
?>

分享到:
评论

相关推荐

    PHP-使用php实现的排序算法-Sorting.zip

    在IT领域,排序算法是计算机科学中的核心概念,尤其对于编程语言如PHP来说,理解并掌握各种排序算法的实现方式至关重要。"Sorting.zip"压缩包文件包含了一系列使用PHP实现的排序算法,这对于我们深入理解PHP编程和...

    用php实现几种常见的排序算法共6页.pdf.zip

    本资料包"用php实现几种常见的排序算法共6页.pdf.zip"聚焦于PHP如何实现几种经典的排序算法,这对于理解数据结构与算法以及提升PHP编程技能至关重要。排序算法是计算机科学中的基础,它们对大量数据进行有序排列,对...

    PHP实现常用排序算法的方法

    这篇文章主要关注在PHP中实现几种常见的排序算法,包括快速排序和冒泡排序。 1. **快速排序** 快速排序是一种高效的排序算法,由C.A.R. Hoare在1960年提出。它的平均时间复杂度为O(n log n),在大多数情况下比其他...

    php各种数组的排序算法

    本文将详细介绍几种常用的排序算法实现,并通过具体的PHP代码示例来帮助理解这些算法的工作原理。 #### 插入排序(Insertion Sort) 插入排序是一种简单直观的排序算法。其工作原理是通过构建有序序列,对于未排序...

    php-使用php开发的排序算法之BubbleSort-排序算法实现.zip

    总结一下,这份"php-使用php开发的排序算法之BubbleSort-排序算法实现.zip"资料提供了一个用PHP实现冒泡排序的例子,帮助学习者理解如何在实际编程中应用排序算法。通过这个例子,你可以学习到冒泡排序的逻辑以及...

    php实现的常见排序算法汇总

    本文将详细介绍几种常见排序算法的基本概念、PHP实现方法和各自的优缺点。 1. 插入排序: 插入排序的基本思想是将数组分为已排序和未排序两部分,每次从未排序的部分取出一个元素插入到已排序部分的适当位置。在PHP...

    php排序算法综合比较

    这里我们探讨几种常见的排序算法:插入排序、选择排序、冒泡排序和快速排序。 插入排序(Insertion Sort)是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描...

    PHP-基于php实现的快速排序算法-QuickSort.zip

    快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare在1960年提出。它采用了分治(Divide and Conquer)的思想,将一个大问题分解成两个或更多的小问题来解决。在PHP中实现快速排序,我们可以按照以下...

    十大经典排序算法-多种编程语言

    十大经典排序算法 (1)多种编程语言,JavaScript,python,go,php等语言。 (2)排序算法可以分为内部排序...常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序

    PHP中的几种排序算法1

    本文将介绍几种常见的排序算法及其在PHP中的实现,包括快速排序、选择排序、插入排序、冒泡排序和归并排序。 1. **快速排序**: 快速排序是一种高效的排序算法,由C.A.R. Hoare在1960年提出。其基本思想是采用分治...

    PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】

    本文将深入探讨PHP中常见的四种排序算法:冒泡排序、插入排序、选择排序和快速排序,并分析它们的效率。 1. **冒泡排序**: 冒泡排序是一种简单的排序方法,通过重复遍历待排序的数组,依次比较相邻的两个元素并...

    常见排序算法总结,基于 JavaScript 实现.zip

    对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同...

    phperphperphper

    由于提供的信息有限,我会根据“sort.php”这个子文件名来展开讨论,推测这可能涉及到PHP中的排序算法。 在PHP中,处理数组并进行排序是常见的任务。`sort()` 函数就是PHP内置的一个用于对数组进行升序排序的函数。...

    排序算法源代码

    4. **PHP实现的排序算法**: PHP作为服务器端脚本语言,虽然没有C++那样底层,但它提供了`sort()`、`rsort()`等函数来排序数组。然而,对于更复杂的排序需求,开发者可能需要自己实现,比如用PHP实现归并排序,或者...

    php代码-十大排序算法

    这个压缩包“php代码-十大排序算法”显然是一个包含PHP实现的十种常见排序算法的资源包。下面我们将详细讨论这十个排序算法以及它们在PHP中的应用。 1. 冒泡排序(Bubble Sort): 冒泡排序是一种简单的交换排序...

    php项目开发中用到的快速排序算法分析_.docx

    下面是一段简化版的PHP代码示例,展示了如何实现快速排序算法以处理上述需求: ```php function quickSort(&$arr, $field = 'goods_price', $desc = false) { if (count($arr) ) { return; } $left = $right = ...

    用PHP的方式实现的各类算法合集

    1. **排序算法**:包括快速排序(Quick Sort)、归并排序(Merge Sort)、冒泡排序(Bubble Sort)和插入排序(Insertion Sort)。这些算法可以帮助我们对数据进行有效排序,提高数据处理效率。 2. **搜索算法**:...

Global site tag (gtag.js) - Google Analytics