简单:
$arr=array(0,8,-2) 无序 从小到大排列
外层循环
$temp= 0;
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;
}
}
}
里层循环找出一个最大数
2.选择排序
每次找到最小值,依次排到前面
function selectSort(&$arr){
for($i=0;$i<count($arr)-1;$i++){
$minVal = $arr[$i];
//记录最小值的索引
$minIndex = $i;
for($j=$i+1;$j<count($arr);$j++){
if($minVal>$arr[$j]){
$minVal = $arr[$j];
$minIndex = $j;
}
}
//交换
$temp =$arr[$i];
$arr[i] = $arr[$minIndex];
$arr[$minIndex] = $temp;
}
}
3.插入排序
一个有序表,一个无序表
有1一个数是有序,其他n-1个数无序 -1,-2,89,90
-2,-1 89,90
往有序数列里不停的插入一个数
function insertSort(&$arr){
//默认下标0;这个数有序
for($i=1;$i<count($arr);$++){
//$insertVal 是准备要插入的数
$insertVal = $arr[$i];
//准备先和$insertIndex比较
$insertIndex = $i-1;
//如果条件满足,说明还没找到适当的位置插入
while($insertIndex>=0&& $insertVal<$arry[$insertIndex]){
//同时把数后移
$arr[$insertIndex+1] =$arr[$insertIndex]
$insertIndex--;
}
//插入找到适当位置
$arr[$insertIndex+1] = $insertVal;
}
}
4.快速排序
找中间数据
二分查找 必须有序
function binarySearch($arr,$findVal,$leftIndex $rightIndex){
$middleIndex = round($rightIndex+$leftIndex)/2);
if($rightIndex<$leftIndex){
echo '找不到'
return;
}
//如果大于,向后找
if($findVal>$arr[$middleIndex]){
binarySearch($arr,$findVal,$middleIndex+1,$rightIndex) ;
}else{
//小于则向前找
binarySearch($arr,$findVal,$leftIndex,$middleIndex-1) ;
}else{
echo '找到';
}
}
分享到:
相关推荐
**PHP冒泡排序** 冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成...
根据给定的信息,本文将详细解释PHP中优化版本的冒泡排序算法,并深入探讨其工作原理、优化策略以及实现方式。 ### PHP优化版冒泡排序算法详解 #### 一、冒泡排序的基本概念 冒泡排序是一种简单的排序算法,通过...
php的冒泡小程序 网上有很多例子 但是我这个是有很详细的注释的!
标题与描述中的知识点主要聚焦在两个方面:一是PHP中的冒泡排序算法,二是字符串处理,具体涉及了在GBK编码下的字符串截取方法。下面将详细展开这两个知识点。 ### 冒泡排序算法 冒泡排序是一种简单的排序算法。它...
php冒泡排序
### 浅谈PHP冒泡排序 #### 一、冒泡排序简介 冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行的,直到没有再需要交换...
由于您提供的文章标题和描述中明确指出了“php 冒泡排序算法”,本文将对php语言环境中的冒泡排序进行详细解析。 首先,冒泡排序的名字来源于算法中相邻元素比较并交换的过程类似于水底气泡上升至水面,大的数据就...
用php实现冒泡排序用php实现冒泡排序用php实现冒泡排序用php实现冒泡排序用php实现冒泡排序用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] > $arr[$j + 1]) ...
以下是一个简单的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冒泡排序实现: ```php function bubbleSort($arr) { $len = count($arr); for ($i = 0; $i $len - 1; $i++) { // 外层循环 for ($j = 0; $j $len - 1 - $i; $j++) { // 内层循环 if ($arr...
复制代码 代码如下: $a=array(’11’,’2′,’13’,’... 您可能感兴趣的文章:php数组冒泡排序算法实例php冒泡排序与快速排序实例详解又一个PHP实现的冒泡排序算法分享php冒泡排序、快速排序、快速查找、二维数组去重实
在PHP中实现冒泡排序的函数首先计算数组长度,然后通过双层循环进行比较和交换。内层循环负责比较相邻元素并按需交换,外层循环则确保数组中每对元素都比较过。如果数组已经有序,冒泡排序可以设置一个标志位来提前...
下面将详细介绍PHP冒泡排序与快速排序的实现方法,并通过实例分析两种算法的优缺点。 首先来看冒泡排序算法。冒泡排序算法的实现原理是通过重复遍历要排序的数组,比较相邻的元素,如果它们的顺序错误就把它们交换...
在“PHP函数实战 - PHP冒泡排序”中,我们将深入理解冒泡排序算法以及如何在PHP中实现它。 冒泡排序是一种简单的排序算法,通过重复遍历待排序的数列,比较每对相邻元素并交换位置来达到排序的目的。这种算法的名字...
下面将详细解释如何在PHP中使用冒泡排序,并探讨其在不同情况下的应用。 首先,我们来看一下提供的PHP代码实例: ```php $files = array("file11.txt", "file22.txt", "file1.txt", "file2.txt"); function mySort...