`
szzhi
  • 浏览: 79499 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

php中的冒泡排序,选择排序,插入排序

    博客分类:
  • php
 
阅读更多

<?php


  //冒泡排序<从小到大>
  function bubbleSort(&$arr){
    
    $temp=0;
    
    //加入第i个数最大
    for($i=0;$i<count($arr)-1;$i++){
      
      for($j=0;$j<count($arr)-1-$i;$j++){
      
        //说明前面的数比后面的数大,就要交换
        if($arr[$j] > $arr[$j+1]){
          $temp=$arr[$j];
          $arr[$j]=$arr[$j+1];
          $arr[$j+1]=$temp;
        }
      }
      
    
    }
  }
  
  //选择排序<从小到大>
  function selectSort(&$arr){
    
    $temp=0;
    
    for($i=0;$i<count($arr);$i++){
     
      //假设$i就是最小的数
      $minValue=$arr[$i];
      //记录我认为最小数的下标
      $minIndex=$i;
      
      for($j=$i+1;$j<count($arr);$j++){
        
        //我们认为的最小值,不是最小
        if($minValue>$arr[$j]){
          
          $minValue=$arr[$j];
          $minIndex=$j;
          
        }
      }
      
      //最后交换
      $temp=$arr[$i];
      $arr[$i]=$arr[$minIndex];
      $arr[$minIndex]=$temp;
    }
  }
  
  //插入排序法<从小到大>
  function insertSort(&$arr){
    
    for($i=1;$i<count($arr);$i++){
      
      //$insertVal是准备插入的数
      $insertValue=$arr[$i];
      //准备先和$insertIndex比较
      $insertIndex=$i-1;
      
      //如果这个条件满足,说明,我们还没有找到适当的位置
      while($insertIndex>=0 && $insertValue < $arr[$insertIndex]){
      
        //同时把数后移
        $arr[$insertIndex+1]=$arr[$insertIndex];
        
        $insertIndex--;
      }
      
      //插入(这时给$insertValue找到适合位置)
      $arr[$insertIndex+1]=$insertValue;
    }
  }

  $arr = Array(0,-1,5);
  
  //冒泡排序法
  //bubbleSort($arr);
  //选择排序法
  //selectSort($arr);
  //插入排序法
  insertSort($arr);
  print_r($arr);
  
  //速度
  //插入排序法 >> 选择排序法 >> 冒泡排序法
  
?>

分享到:
评论

相关推荐

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

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

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

    1. 冒泡排序:冒泡排序是一种简单的交换排序方法,通过不断比较相邻元素并交换位置,将较大的元素逐渐“冒泡”到数组的末尾。虽然效率较低(时间复杂度为O(n^2)),但实现起来相对直观。 2. 选择排序:选择排序每次...

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

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

    排序算法源代码

    常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。 2. **Java实现的排序算法**: Java作为一种面向对象的语言,其丰富的类库和高效性能使得它成为实现排序算法的常用选择。在Java中...

    php排序算法综合比较

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

    PHP 排序算法源代码

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

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

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

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

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

    php的各种排序方法

    本篇文章将深入探讨几种常见的PHP排序方法,包括冒泡排序、快速排序、插入排序和选择排序,通过理解这些算法的工作原理和具体实现,我们可以更有效地对数组或列表进行排序。 ### 冒泡排序(Bubble Sort) 冒泡排序...

    php各种数组的排序算法

    插入排序在实现上通常使用in-place排序(即只需用到O(1)的额外空间的排序),因为只需要用一个临时变量。 **PHP代码实现**: ```php function insertSort($arr) { $count = count($arr); for ($i = 1; $i $count;...

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

    1. **排序算法**:冒泡排序属于比较基础的排序算法,除此之外还有选择排序、插入排序、希尔排序、快速排序、归并排序、堆排序等。 2. **PHP编程**:PHP是一种广泛用于Web开发的服务器端脚本语言,可以处理各种数据...

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

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

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

    首先,排序算法是用来对一组数据进行排列的逻辑过程,它可以是升序或降序,常见的排序算法有冒泡排序、插入排序、选择排序、快速排序、归并排序和堆排序等。在PHP中,我们可以直接使用内置的`sort()`、`rsort()`、`a...

    PHP实现各种排序算法

    在IT领域,排序算法是计算机科学中的基础概念,...例如,冒泡排序和插入排序适用于小规模数据,而快速排序则在处理大规模数据时表现出较高的效率。通过学习和理解这些算法,开发者可以更好地优化代码,提高程序性能。

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

    例如,冒泡排序和简单插入排序都是插入排序的一种形式。 2. **选择排序**:选择排序每次从未排序的部分中找到最小(或最大)的元素,放到已排序部分的末尾。PHP中可以通过维护一个全局最小值变量来实现。 3. **...

    php 排序函数 函数

    本文将介绍四种常见的排序算法:插入排序、选择排序、冒泡排序和快速排序,并提供了相应的 PHP 代码实现。 插入排序 插入排序是一种简单的排序算法,通过将每个元素插入到已排序的数组中实现排序。下面是插入排序的...

    浅谈php冒泡排序

    冒泡排序是一种基础的排序算法,它通过重复遍历待排序的序列,比较相邻的元素并根据需要交换它们的位置,从而使得序列中的每个元素逐步“浮”到正确的位置上。在PHP中,我们可以轻松地实现这个算法。让我们深入探讨...

    又一个PHP实现的冒泡排序算法分享

    在实际应用中,除了冒泡排序外,还有许多其他的排序算法,例如选择排序、插入排序、快速排序、归并排序等,它们各有优势和适用的场景。根据数据规模和特定需求,可以选择不同的排序算法来优化程序的性能和效率。

Global site tag (gtag.js) - Google Analytics