php不用内置函数对数组排序的两个算法代码
2015-01-24信息快讯网
极有可能今后我也会遇到的。
问题: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 ('<br>'); 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 ) ); //升序
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
php设计模式 Visitor 访问者模式
调整优化您的LAMP应用程序的5种简单方法
php设计模式 Decorator(装饰模式)
php设计模式 Factory(工厂模式)
php设计模式 Template (模板模式)
php设计模式 Composite (组合模式)
php设计模式 Mediator (中介者模式)
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
php中session_unset与session_destroy的区别分析
php在页面中调用fckeditor编辑器的方法
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE eval()'d code error
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
mysql_num_rows VS COUNT 效率问题分析
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
用php实现的下载css文件中的图片的代码
Linux下将excel数据导入到mssql数据库中的方法
Zend framework处理一个http请求的流程分析
php cout<<的一点看法
PHP 时间转换Unix时间戳代码
PHP has encountered an Access Violation 错误的解决方法
PHP simple_html_dom.php+正则 采集文章代码
phpmyadmin导入(import)文件限制的解决办法
php中$this->含义分析
php 引用(&)详解
PHP CKEditor 上传图片实现代码
php pack与unpack 摸板字符字符含义
Wordpress php 分页代码
php foreach、while性能比较
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
PHP has encountered an Access Violation at 7C94BD02解决方法
PHP DataGrid 实现代码