`

php简单排序之冒泡排序与选择排序

阅读更多
<?php

$arr = array(100,2,4,5,6,1,7,3);
var_dump($arr);
$sort =  fn_sort($arr);
var_dump($sort);

$selectorsort = fn_selectsort($arr);
var_dump($selectorsort);


/**
 * 冒泡排序  每相邻的两位数组进行比较,比较大的放后面
 */
//$arr = array(100,2,4,5,6,1,7,3);   
//array(2,4,5,6,1,7,3,100)  第一遍
//array(2,4,5,1,6,3,7,100)  第二遍
//array(2,4,5,1,3,6,7,100)  第三遍
//array(2,4,1,3,5,6,7,100)  第四遍
//...
//array(1,2,3,4,5,6,7,100)  最后一遍

function fn_sort($arr){
    for($i = 0;$i < (count($arr)); $i++){
        for($j = $i;$j < count($arr);$j++){
            if($arr[$i] > $arr[$j]){
                $temp = $arr[$i];
                $arr[$i] = $arr[$j];
                $arr[$j]  = $temp;
            }
        }
        
    }
    return $arr;
}


/**
 * 选择排序排序selectsort  关键是找到最小数组的下标
 */
//$arr = array(100,2,4,5,6,1,7,3);   
//array(1,2,4,5,6,100,7,3)  第一遍
//array(1,2,4,5,6,100,7,3)  第二遍
//array(1,2,3,5,6,100,7,4)  第三遍
//array(1,2,3,4,6,100,7,5)  第四遍
//...
//array(1,2,3,4,5,6,7,100)  最后一遍
function fn_selectsort($arr){
    for($i = 0; $i < count($arr); $i++){
        $min = $i;
        for($j = $i+1; $j < count($arr); $j++){
            if($arr[$min] > $arr[$j]){
                $min = $j;  //找到最小的那个数组下标
            }
        }
        
        //如果已经找到了最小数组下标,就替换当前数组与找到的最小数组进行替换
        if($min != $i){
            $temp  = $arr[$i];
            $arr[$i] = $arr[$min];
            $arr[$min] = $temp;
        }
        
    }
    return $arr;
}
?>



by:19素材
0
0
分享到:
评论

相关推荐

    php 实现冒泡排序

    用php实现冒泡排序用php实现冒泡排序用php实现冒泡排序用php实现冒泡排序用php实现冒泡排序用php实现冒泡排序

    php 冒泡排序算法 优化版本

    冒泡排序是一种简单的排序算法,通过重复地遍历待排序的数组,比较每对相邻元素并交换位置(如果它们的顺序错误),直到没有任何一对元素需要交换为止。这种排序方法得名于较小的元素会逐渐“浮”到数组的顶端,类似...

    php冒泡排序和快速排序

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

    经典php冒泡排序面试题

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

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

    冒泡排序是一种简单的交换排序,通过重复遍历数组,比较相邻元素并根据需要交换它们的位置来逐步将较大的元素“冒泡”到数组的末尾。PHP中的冒泡排序代码可能如下: ```php function bubbleSort($arr) { $len = ...

    php冒泡排序实例

    php的冒泡小程序 网上有很多例子 但是我这个是有很详细的注释的!

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

    快速排序和冒泡排序都是在编程中常用的基础排序算法。快速排序由东尼·霍尔发明,是一种高效的排序算法,特别适合...对于大数据集推荐使用快速排序,而对于小数据集或已经基本有序的数据集,冒泡排序可能更为简单高效。

    php-leetcode题解之冒泡排序.zip

    总结,本题解“php_leetcode题解之冒泡排序”提供了使用PHP实现冒泡排序的方法,包括基本原理、代码实现以及可能的优化策略。这对于学习PHP的开发者来说,是一个很好的实践和理解冒泡排序的实例。通过这个解题过程,...

    PHP实现冒泡排序的简单实例

    冒泡排序是计算机科学中最基础的算法之一,它属于比较排序的一种简单实现,用于将一组数按照从小到大或者从大到小的顺序排列。在冒泡排序中,相邻的两个元素会进行比较,如果顺序错误,则交换这两个元素的位置。经过...

    PHP简单实现冒泡排序的方法

    冒泡排序是一种简单的排序算法,它通过重复遍历要排序的数列,比较相邻的两个元素,若它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行的,直到没有再需要交换的元素,这时数列就排序完成。这种排序方法对...

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

    以下是一个简单的PHP冒泡排序算法实现: ```php function bubbleSort($arr) { $len = count($arr); for ($i = 0; $i $len - 1; $i++) { $swapped = false; for ($j = 0; $j $len - 1 - $i; $j++) { if ($arr[$...

    PHP实现冒泡排序的简单实例.pdf

    冒泡排序的时间复杂度为O(n^2),在处理大量数据时效率较低,但它非常简单易懂,适合教学和理解排序算法的基本原理。在实际应用中,更高效的排序算法如快速排序、归并排序和堆排序等通常会被优先考虑。然而,冒泡排序...

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

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

    php代码-算法-排序-冒泡排序

    以下是一个简单的PHP冒泡排序函数示例: ```php function bubbleSort($arr) { $len = count($arr); for ($i = 0; $i $len - 1; $i++) { for ($j = 0; $j $len - 1 - $i; $j++) { if ($arr[$j] &gt; $arr[$j + 1]) ...

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

    冒泡排序是一种基础且经典的排序算法,主要应用于计算机科学领域,特别是在编程语言如C++中。这个算法通过不断地比较相邻元素并交换位置来逐步排序数组或列表。在"最新冒泡排序c++的写法"中,我们可以探讨以下几个...

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

    冒泡排序简单但效率较低,适合数据量小的场景;而快速排序的效率较高,适合大数据量排序。在实际开发中,应当根据具体情况选择合适的排序算法。对于排序算法的深入理解,对提升程序设计能力有着非常重要的意义。

    php排序算法综合比较

    冒泡排序(Bubble Sort)是最简单的排序算法之一,它重复地走访过要排序的元素,依次比较相邻的两个元素,如果顺序(如从小到大)错误就把他们交换过来。代码中的冒泡排序通过两层循环实现,外层循环控制遍历次数,...

    php冒泡排序

    是对数据的处理方式。

    php各种数组的排序算法

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

Global site tag (gtag.js) - Google Analytics