`
purpen
  • 浏览: 796719 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PHP算法:冒泡排序与快速排序

阅读更多

写一个排序算法,可以是冒泡排序或者快速排序,假设待排序对象是一个二维数组。(提示:不能使用系统已有函数,另外请仔细回忆以前学习过的基础知识)

 

//冒泡排序
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 quicksort($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 = quicksort($left_arr);
   
$right_arr = quicksort($right_arr);

   

return array_merge($left_arr, array($key), $right_arr);

}

 

 

分享到:
评论

相关推荐

    php冒泡排序和快速排序

    冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字...

    PHP排序算法大全(经典).pdf

    本文将详细介绍PHP中的四种经典排序算法:冒泡排序、快速排序、插入排序和选择排序。 首先,让我们逐一了解这四种排序算法的原理和PHP实现。 1. **冒泡排序(Bubble Sort)**: 冒泡排序是一种简单的排序算法,通过...

    冒泡排序、快速排序、选择排序的php实现

    本话题主要探讨了三种经典的排序算法——冒泡排序、快速排序和选择排序的PHP实现。这三种算法各有优缺点,适用于不同的场景,理解并掌握它们对于提升PHP编程能力十分有益。 首先,我们来看冒泡排序(Bubble Sort)...

    php排序算法(冒泡排序,快速排序)

    冒泡排序和快速排序是两种常见的排序算法,在编程中广泛应用于数据的排序处理。在PHP中实现这两种算法同样是非常实用的技能。下面我将详细介绍这两种排序算法的实现原理以及PHP中的代码实现。 首先我们来看冒泡排序...

    经典php冒泡排序面试题

    标题与描述中的知识点主要聚焦在两个方面:一是PHP中的冒泡排序算法,二是字符串处理,具体涉及了在GBK编码下的字符串截取方法。下面将详细展开这两个知识点。 ### 冒泡排序算法 冒泡排序是一种简单的排序算法。它...

    最新冒泡排序c++的写的

    因此,对于“性能怎么样需要测试”的描述,我们可以进行一些基准测试,对比不同输入规模下,冒泡排序与其他排序算法(如快速排序、归并排序)的性能差异。 7. **标签“算法”**:这表明我们关注的是算法设计和分析...

    PHP-基于php实现的冒泡排序算法-BubbleSort.zip

    冒泡排序是一种基础且经典的排序算法,其工作原理是通过重复遍历待排序的数列,一次比较两个元素,如果他们的顺序(如从小到大、从大到小)错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也...

    冒泡排序算法实现javascript, python, go, java, php

    ### 冒泡排序算法知识点详解 #### 一、冒泡排序的基本概念与原理 冒泡排序(Bubble Sort)是一种基础且直观的排序方法,适用于初学者理解排序算法的基础原理。该算法通过不断地比较并交换相邻元素的位置来实现排序...

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

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

    排序算法之PHP版快速排序、冒泡排序

    快速排序和冒泡排序都是在编程中常用的基础排序算法。快速排序由东尼·霍尔发明,是一种高效的排序算法,特别适合对大数据集进行排序。冒泡排序则是更为直观和易于理解的排序方法,适用于小规模数据的排序。下面将...

    PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】

    本文将详细讲解四种PHP中常用的排序算法:基本排序(通常指的是选择排序或冒泡排序)、冒泡排序、快速排序以及插入排序。 1. **基本排序**(这里可能是指的选择排序):选择排序是一种简单直观的排序算法,它的工作...

    排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录

    6. 快速排序:快速排序的核心是“分而治之”,通过选取一个基准值,将数组分为两部分,一部分所有元素小于基准,另一部分所有元素大于基准,然后递归地对两部分进行排序。平均时间复杂度为O(n log n),最坏情况下为O...

    10个数据结构课程设计实例二叉树建立遍历冒泡排序快速排序等.rar

    《数据结构课程设计实例解析:二叉树、遍历、冒泡排序与快速排序》 在计算机科学领域,数据结构是编程的基础,它涉及到如何高效地存储和组织数据。本项目集成了多种语言,包括Java、Python、VB、C++和PHP,提供了10...

    php排序算法综合比较

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

    排序算法源代码

    原地排序算法只需要常量级别的额外空间,而不会占用与输入数据大小成比例的额外空间,如冒泡排序和快速排序。非原地排序可能需要额外的空间存储临时数据,如归并排序。 9. **并行与分布式排序**: 高级排序算法如...

    PHP 冒泡排序算法的实现代码

    6. **递归与回溯**:虽然冒泡排序不涉及递归,但在其他排序算法(如快速排序)中,递归是实现的关键。 7. **加密算法**:虽然冒泡排序与加密算法直接关系不大,但PHP同样支持AES等加密算法的实现。 通过了解冒泡...

    PHP 排序算法源代码

    本资源提供了PHP实现的五种经典排序算法:冒泡排序、插入排序、选择排序、希尔排序和快速排序。这些算法在数据处理和效率优化上扮演着重要角色。 **冒泡排序(Bubble Sort)** 冒泡排序是最简单的排序算法之一,它...

    从互联网上收集的用于采访的常用PHP算法 冒泡、快速排序、二进制排序、二维数组去重、二维数组排序-php-suanfa.zip

    c语言从互联网上收集的用于采访的常用PHP算法。冒泡、快速排序、二进制排序、二维数组去重、二维数组排序_php-suanfa.zip

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

    冒泡排序算法是计算机科学中最经典且基础的排序算法之一,尤其在学习编程和算法的过程中,它作为入门级别的算法常常被用作教学示例。由于您提供的文章标题和描述中明确指出了“php 冒泡排序算法”,本文将对php语言...

    php数组冒泡排序算法实例

    冒泡排序是一种简单的排序算法,它的基本思想是通过重复遍历待排序的数列,一次比较两个元素,如果他们的顺序(如从小到大)错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列...

Global site tag (gtag.js) - Google Analytics