php 八字算法,南方排八字专业程序 php不用内置函数对数组排序的两个算法代码...
一朋友找工作遇到的试题,备注一下。
极有可能今后我也会遇到的。
问题:php不用内置函数对数组排序,可能是降序或者升序
第一种方法:传说中的冒泡法
复制代码 代码如下:
function arraysort($data, $order = 'asc') {
//asc升序 desc降序
$temp = array ();
$count = count ( $data );
if ($count <= 0)
return false; //传入的数据不正确
if ($order == 'asc') {
for($i = 0; $i < $count; $i ++) {
for($j = $count - 1; $j > $i; $j --) {
if ($data [$j] < $data [$j - 1]) {
//交换两个数据的位置
$temp = $data [$j];
$data [$j] = $data [$j - 1];
$data [$j - 1] = $temp;
}
}
}
} else {
for($i = 0; $i < $count; $i ++) {
for($j = $count - 1; $j > $i; $j --) {
if ($data [$j] > $data [$j - 1]) {
$temp = $data [$j];
$data [$j] = $data [$j - 1];
$data [$j - 1] = $temp;
}
}
}
}
return $data;
}
$data = array (7, 5, 3, 8, 9, 1, 5, 3, 1, 24, 3, 87, 0, 33, 1, 12, 34, 54, 66, 32 );
var_dump ( arraysort ( $data ) ); //升序
echo ('
');
var_dump ( arraysort ( $data ,'desc') );//降序
第二种方法:不知道取个什么名字好,就叫插入法吧!囧
复制代码 代码如下:
function arraysort3($data, $order = 'asc') {
//目前只做升序排列
$count = count ( $data );
for($i = 1; $i < $count; $i ++) {
$temp = $data [$i];
$j = $i - 1;
while ( $data [$j] > $temp ) {
$data [$j + 1] = $data [$j];
$data [$j] = $temp;
$j --;//为什么要递减:从高位逐位判断
}
}
return $data;
}
$data = array (7, 5, 3, 8, 9, 1, 5, 3, 1, 24, 3, 87, 0, 33, 1, 12, 34, 54, 66, 32 );
var_dump ( arraysort3 ( $data ) ); //升序
以上就介绍了南方排八字专业程序 php不用内置函数对数组排序的两个算法代码,包括了南方排八字专业程序方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
php 八字算法,南方排八字专业程序 php不用内置函数对数组排序的两个算法代码...相关推荐
- MATLAB 求函数极值的内置函数一览表(实则优化算法函数汇总)
MATLAB 求函数极值的内置函数一览表 收集了几乎所有的 MATLAB 内置的优化函数,可收藏,需要时查阅. 文章目录 MATLAB 求函数极值的内置函数一览表 简介 概览 求函数极值(或最大值最小 ...
- 微信小程序判断服务器返回值,让微信小程序内置函数返回promise的方法
Promise API const promisic = function (func) { return function (params = {}) { return new Promise((r ...
- 【免费领取】趣味测试小程序源码/内置超多趣味测评+可插入流量主广告位微信小程序源码
本资源可免费获取,请至尾部读阅! 类型: 小程序 大小:2MB 说明:仅供学习使用 语言:PHP 介绍: 趣味测试小程序源码,本程序无后台,可插入流量主广告位,实现躺赚模式,内置超多趣味测评,界面美观 ...
- 配音小程序源码,内置106个配音角色
短视频配音小程序源代码是UNIAPP编写,支持微信小程序,内置106个配音角色,完美的用户分销系统,支持各种情感配音,新闻配音,女性配音,男性磁性配音等等各种短视频配音,搭建上线即可运营,源代码采用云 ...
- 自我监督打卡程序-使用excel内置vba编写
下载入口:https://download.csdn.net/download/SZP1026/86620379 (写博文时还没通过审核,如果链接无效请移步我的csdn主页寻找) 第一个版本还很简陋, ...
- python【数据结构与算法】内置函数 zip() 函数(看不懂你来打我)
文章目录 描述 语法 返回值 实例 描述 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度 ...
- python【数据结构与算法】内置函数enumerate(枚举) 函数(看不懂你来打我)
文章目录 描述 语法 参数 返回值 实例 描述 enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. ...
- python【数据结构与算法】各进制转换-使用内置函数
文章目录 1 其他进制向十进制之间的转换 2 十进制向其他进制之间的转换 2.1 使用内置函数来转换 2.2 使用字符串格式化来转化 1 其他进制向十进制之间的转换 string1 = '101010 ...
- PHP面试题:写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数(array_multisort())
//二维数组排序, $arr是数据,$keys是排序的健值,$order是排序规则,1是升序,0是降序 function array_sort($arr, $keys, $order=0) {if ( ...
最新文章
- Android OTA在线升级二(升级包编译原理分析) 【转】
- java线程饥饿死锁_java并发-线程饥饿死锁测试
- joc杂志影响因子2019_另类统计!2019影响因子贡献文章排行榜,看完有点心塞
- 中国磁性材料行业竞争趋势及供需前景分析报告2021年版
- springboot入门(项目)
- E. Jamie and Tree(树链剖分 + 线段树)
- Irrlicht例002--Quake3Map
- Java基础--Java---IO流------GUI(布局)、Frame、事件监听机制、窗体事件、Action事件、鼠标事件、对话框Dialog、键盘事件、菜单
- mysql结构改写为hbase表_根据mysql表中字段创建hbase表
- 栈的应用-后缀表达式
- 头歌平台(EduCoder)—— 数据挖掘算法原理与实践:k-近邻
- 大数据发展趋势之我见
- 第三方百度地图----显示所在位置
- Python实现小说下载器,可以打包exe
- PS制作六边形蜂窝状banner人物海报
- C++实现matlab中的interp1和interp2插值
- DZ 系统维护工具箱Tools
- 关于2020的个人总结
- openssh for android,android安装openssh,通过其他电脑ssh登陆到安卓手机
- git安装及github配置
热门文章
- CMMI证书背后的6大怪相 缺陷非常多
- NGINX配合FASTDFS使用的安装与配置及编译遇到错误:cc1: all warnings being treated as errors
- 全连接神经网络详解(Full Connect Neural Network)
- 了解RPG游戏中剧情播放器的制作原理及流程
- 竖排显示变横排显示的方法
- java mongo忽略大小写,MongoDB:是否可以进行不区分大小写的查询?
- 教你各种脸型怎么选发型
- OpenHarmony开发者文档 获取工具.md HUAWEI DevEco Studio下载地址 HUAWEI DevEco Device Tool下载地址
- 测色仪取色器颜色识别器含潘通劳尔色卡匹配色差计详细图文教程
- 怎样在快手快速下载不含水印视频详细介绍 快手大批量下载高清无水印视频软件 说说如何快速下...