php数据排序递增递减,php升序排列

在php中如何对一个数组进行升序和降序排列?

升序:sort()函数

天峻ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

降序:rsort()函数

?php

$people=array('name','sex','nation','birth');

foreach ($people as $mychrs)

echo $mychrs." ";

sort($people);

echo "br /---排序后---br /";

foreach ($people as $mychrs)

echo $mychrs." ";

?

PHP中除了升序函数以外,还有降序或称反向排列的函数,就是rsort()函数,比如:

$num1=range(1,9);

rsort($num1);

这里其实就相当于range(9,1)

php中对一组数字从大到小排序方法

可以把数字放到数组中,然后使用sort

将数组排序:例如

$arr=array(3,1,20,10,99,5);

asort($arr);

print_r($arr)

结果为:

Array

(

[0]

=

1

[1]

=

3

[2]

=

5

[3]

=

10

[4]

=

20

[5]

=

99

)

然后再做你想要的操作

php递增、减运算符

两边的点是连接符

比如$d=123

echo ' $d = ' . $d . ' br /'这个输出效果就是$d=123 然后换行

比如$s1 = 'my'

$s1. = " friend!" 这个其实表示$s1 = $s1." friend!" 输出效果就是my friend!

顺便说下,当变量在双引号里面的话,是可以直接输出变量的值 ,单引号输出的是不能的

如:

$d="aa"

echo "$d" 输出效果就是 aa

echo '$d' 输出效果就是$d

PHP快速排序算法实现的原理及代码详解

算法原理

下列动图来自五分钟学算法,演示了快速排序算法的原理和步骤。

步骤:

从数组中选个基准值

将数组中大于基准值的放同一边、小于基准值的放另一边,基准值位于中间位置

递归的对分列两边的数组再排序

代码实现

function

quickSort($arr)

{

$len

=

count($arr);

if

($len

=

1)

{

return

$arr;

}

$v

=

$arr[0];

$low

=

$up

=

array();

for

($i

=

1;

$i

$len;

++$i)

{

if

($arr[$i]

$v)

{

$up[]

=

$arr[$i];

}

else

{

$low[]

=

$arr[$i];

}

}

$low

=

quickSort($low);

$up

=

quickSort($up);

return

array_merge($low,

array($v),

$up);

}

测试代码:

$startTime

=

microtime(1);

$arr

=

range(1,

10);

shuffle($arr);

echo

"before

sort:

",

implode(',

',

$arr),

"\n";

$sortArr

=

quickSort($arr);

echo

"after

sort:

",

implode(',

',

$sortArr),

"\n";

echo

"use

time:

",

microtime(1)

-

$startTime,

"s\n";

测试结果:

before

sort:

1,

7,

10,

9,

6,

3,

2,

5,

4,

8

after

sort:

1,

2,

3,

4,

5,

6,

7,

8,

9,

10

use

time:

0.0009009838104248s

时间复杂度

快速排序的时间复杂度在最坏情况下是O(N2),平均的时间复杂度是O(N*lgN)。

这句话很好理解:假设被排序的数列中有N个数。遍历一次的时间复杂度是O(N),需要遍历多少次呢?至少lg(N+1)次,最多N次。

1)

为什么最少是lg(N+1)次?快速排序是采用的分治法进行遍历的,我们将它看作一棵二叉树,它需要遍历的次数就是二叉树的深度,而根据完全二叉树的定义,它的深度至少是lg(N+1)。因此,快速排序的遍历次数最少是lg(N+1)次。

2)

为什么最多是N次?这个应该非常简单,还是将快速排序看作一棵二叉树,它的深度最大是N。因此,快读排序的遍历次数最多是N次。

您可能感兴趣的文章:PHP快速排序算法实例分析PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】PHP排序算法之快速排序(Quick

Sort)及其优化算法详解PHP递归实现快速排序的方法示例php

二维数组快速排序算法的实现代码PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】PHP快速排序quicksort实例详解

分享题目:php数据排序递增递减,php升序排列
文章源于:https://www.cdcxhl.com/article30/hspiso.html

成都网站建设公司_创新互联,为您提供移动网站建设网站内链电子商务品牌网站建设网站制作搜索引擎优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都做网站