热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用PHP写一个冒泡排序/快速排序/顺序查找和二分查找算法:

使用PHP写一个冒泡排序算法:使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组:unctionbubble_sort($array){$

使用 PHP 写一个冒泡排序算法:

使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组:

unction bubble_sort($array)

{

$count = count($array);

if ($count <&#61; 0) return false;

for($i&#61;0; $i<$count; $i&#43;&#43;){

for($j&#61;$count-1; $j>$i; $j–){

if ($array[$j] <$array[$j-1]){

$tmp &#61; $array[$j];

$array[$j] &#61; $array[$j-1];

$array[$j-1] &#61; $tmp;

}

}

}

return $array;

}

function quick_sort($array) {

if (count($array) <&#61; 1) return $array;

$key &#61; $array[0];

$left_arr &#61; $right_arr &#61; array();

foreach ($array as $val){

if ($val <&#61; $key)

$left_arr[] &#61; $val;

else

$right_arr[] &#61; $val;

}

$left_arr &#61; quick_sort($left_arr);

$right_arr &#61; quick_sort($right_arr);

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

}

使用PHP描述顺序查找和二分查找&#xff08;也叫做折半查找&#xff09;算法&#xff0c;顺序查找必须考虑效率&#xff0c;对象可以是一个有序数组

function bin_sch($array, $low, $high, $k){

if ($low <&#61; $high){

$mid &#61; intval(($low&#43;$high)/2);

if ($array[$mid] &#61;&#61; $k){

return $mid;

}elseif ($k <$array[$mid]){

return bin_sch($array, $low, $mid-1, $k);

}else{

return bin_sch($array, $mid&#43;1, $high, $k);

}

}

return -1;

}function seq_sch($array, $n, $k){

$array[$n] &#61; $k;

for($i&#61;0; $i<$n; $i&#43;&#43;){

if($array[$i]&#61;&#61;$k){

break;

}

}

if ($i<$n){

return $i;

}else{

return -1;

}

}

写一个二维数组排序算法函数&#xff0c;能够具有通用性&#xff0c;可以调用php内置函数

function array_sort($arr, $keys, $order&#61;0) {

if (!is_array($arr)) {

return false;

}

$keysvalue &#61; array();

foreach($arr as $key &#61;> $val) {

$keysvalue[$key] &#61; $val[$keys];

}

if($order &#61;&#61; 0){

asort($keysvalue);

}else {

arsort($keysvalue);

}

reset($keysvalue);

foreach($keysvalue as $key &#61;> $vals) {

$keysort[$key] &#61; $key;

}

$new_array &#61; array();

foreach($keysort as $key &#61;> $val) {

$new_array[$key] &#61; $arr[$val];

}

return $new_array;

}


推荐阅读
  • 可空类型可空类型主要用于参数类型声明和函数返回值声明。主要的两种形式如下: ... [详细]
  • 本文介绍了一种在PHP中对二维数组根据某个字段进行排序的方法,以年龄字段为例,按照倒序的方式进行排序,并给出了具体的代码实现。 ... [详细]
  • 本文介绍了如何对PHP二维数组进行排序以及如何获取最大值。同时还提到了在数据分析系统中使用排序的实例,以及如何统计角色等级和创建角色总数。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • Todayatworksomeonetriedtoconvincemethat:今天在工作中有人试图说服我:{$obj->getTableInfo()}isfine ... [详细]
  • php缓存ri,浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
    thinkPHP的F方法只能用于缓存简单数据类型,不支持有效期和缓存对象。S()缓存方法支持有效期,又称动态缓存方法。本文是小编日常整理有关thinkp ... [详细]
  • 简述在某个项目中需要分析PHP代码,分离出对应的函数调用(以及源代码对应的位置)。虽然这使用正则也可以实现,但无论从效率还是代码复杂度方面考虑ÿ ... [详细]
  • 本文介绍了如何使用OpenXML按页码访问文档内容,以及在处理分页符和XML元素时的一些挑战。同时,还讨论了基于页面的引用框架的局限性和超越基于页面的引用框架的方法。最后,给出了一个使用C#的示例代码来按页码访问OpenXML内容的方法。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
author-avatar
殉情放开那只小兔子
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有