<?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中常见的四种排序算法:冒泡排序、插入排序、选择排序和快速排序,并分析它们的效率。 1. **冒泡排序**: 冒泡排序是一种简单的排序方法,通过重复遍历待排序的数组,依次比较相邻的两个元素并...
1. 冒泡排序:冒泡排序是一种简单的交换排序方法,通过不断比较相邻元素并交换位置,将较大的元素逐渐“冒泡”到数组的末尾。虽然效率较低(时间复杂度为O(n^2)),但实现起来相对直观。 2. 选择排序:选择排序每次...
本文将详细讲解四种PHP中常用的排序算法:基本排序(通常指的是选择排序或冒泡排序)、冒泡排序、快速排序以及插入排序。 1. **基本排序**(这里可能是指的选择排序):选择排序是一种简单直观的排序算法,它的工作...
常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。 2. **Java实现的排序算法**: Java作为一种面向对象的语言,其丰富的类库和高效性能使得它成为实现排序算法的常用选择。在Java中...
这里我们探讨几种常见的排序算法:插入排序、选择排序、冒泡排序和快速排序。 插入排序(Insertion Sort)是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描...
本资源提供了PHP实现的五种经典排序算法:冒泡排序、插入排序、选择排序、希尔排序和快速排序。这些算法在数据处理和效率优化上扮演着重要角色。 **冒泡排序(Bubble Sort)** 冒泡排序是最简单的排序算法之一,它...
《数据结构课程设计实例解析:二叉树、遍历、冒泡排序与快速排序》 在计算机科学领域,数据结构是编程的基础,它涉及到如何高效地存储和组织数据。本项目集成了多种语言,包括Java、Python、VB、C++和PHP,提供了10...
本文将详细介绍PHP中的四种经典排序算法:冒泡排序、快速排序、插入排序和选择排序。 首先,让我们逐一了解这四种排序算法的原理和PHP实现。 1. **冒泡排序(Bubble Sort)**: 冒泡排序是一种简单的排序算法,通过...
本篇文章将深入探讨几种常见的PHP排序方法,包括冒泡排序、快速排序、插入排序和选择排序,通过理解这些算法的工作原理和具体实现,我们可以更有效地对数组或列表进行排序。 ### 冒泡排序(Bubble Sort) 冒泡排序...
插入排序在实现上通常使用in-place排序(即只需用到O(1)的额外空间的排序),因为只需要用一个临时变量。 **PHP代码实现**: ```php function insertSort($arr) { $count = count($arr); for ($i = 1; $i $count;...
1. **排序算法**:冒泡排序属于比较基础的排序算法,除此之外还有选择排序、插入排序、希尔排序、快速排序、归并排序、堆排序等。 2. **PHP编程**:PHP是一种广泛用于Web开发的服务器端脚本语言,可以处理各种数据...
十大经典排序算法 (1)多种编程语言,JavaScript,python,go,php等语言。 (2)排序算法可以分为内部排序...常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序
首先,排序算法是用来对一组数据进行排列的逻辑过程,它可以是升序或降序,常见的排序算法有冒泡排序、插入排序、选择排序、快速排序、归并排序和堆排序等。在PHP中,我们可以直接使用内置的`sort()`、`rsort()`、`a...
在IT领域,排序算法是计算机科学中的基础概念,...例如,冒泡排序和插入排序适用于小规模数据,而快速排序则在处理大规模数据时表现出较高的效率。通过学习和理解这些算法,开发者可以更好地优化代码,提高程序性能。
例如,冒泡排序和简单插入排序都是插入排序的一种形式。 2. **选择排序**:选择排序每次从未排序的部分中找到最小(或最大)的元素,放到已排序部分的末尾。PHP中可以通过维护一个全局最小值变量来实现。 3. **...
本文将介绍四种常见的排序算法:插入排序、选择排序、冒泡排序和快速排序,并提供了相应的 PHP 代码实现。 插入排序 插入排序是一种简单的排序算法,通过将每个元素插入到已排序的数组中实现排序。下面是插入排序的...
冒泡排序是一种基础的排序算法,它通过重复遍历待排序的序列,比较相邻的元素并根据需要交换它们的位置,从而使得序列中的每个元素逐步“浮”到正确的位置上。在PHP中,我们可以轻松地实现这个算法。让我们深入探讨...
在实际应用中,除了冒泡排序外,还有许多其他的排序算法,例如选择排序、插入排序、快速排序、归并排序等,它们各有优势和适用的场景。根据数据规模和特定需求,可以选择不同的排序算法来优化程序的性能和效率。