博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php练习二
阅读量:5912 次
发布时间:2019-06-19

本文共 1836 字,大约阅读时间需要 6 分钟。

数组常用的排序法有:冒泡排序法、选择排序法、插入排序法、(快速排序法)。

1、冒泡排序法(交换式排序法):其基本思想是通过对待排序序列从后向前(从下标较大的元素开始),依次比较相邻元素的排序码,若发现逆序则交换,使排序码较小的元素逐渐从后部移向前部,就像水底下的汽泡一样逐渐向上冒。

举例说明:

$arr[$j+1]){ $temp=$arr[$j]; $arr[$j]=$arr[$j+1]; $arr[$j+1]=$temp; } } } print_r ($arr); ?>

打印输出:Array ( [0] => -5 [1] => -1 [2] => 0 [3] => 2 [4] => 3 [5] => 5 [6] => 10 )

若将上面的排序封装成一个函数,则代码如下:

$arr[$j+1]){ $temp=$arr[$j]; $arr[$j]=$arr[$j+1]; $arr[$j+1]=$temp; } } } }$arr=array(0,-1,3,-5,2,10,5); bubbleSort($arr);print_r($arr); ?>

注意:需要在函数中的参数前面添加“&”符,参数以引用(地址)传递,这样才能改变$arr的值,否则最后打印输出的还是原来的数组(即未经过排序)。

2、选择排序法

选择排序属于内部排序法,是从欲排序的数据中,按指定的规则选出某一元素,经过和其他元素重整,再依原则交换位置后达到排序的目的。

举例说明:

$arr[$j]){ $minVal=$arr[$j]; $minIndex=$j; } } $temp=$arr[$i]; $arr[$i]=$arr[$minIndex]; $arr[$minIndex]=$temp; } } $arr=array(2,0,-1,1); selectSort($arr); print_r ($arr); ?>

 3、插入排序法

其基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把他的排序码依次与有序表元素的排序码进行对比,将它插入到有序表中的适当位置,使之成为新的有序表。

举例说明:

=0&&$insertVal<$arr[$insertIndex]){ $insertIndex--; } //插入(这时就给$insertVal找到适当的位置) $arr[$insertIndex+1]=$insertVal; } } $arr=array(2,0,-1,1); insertSort($arr); print_r ($arr); ?>

 

转载于:https://www.cnblogs.com/U-can/p/4465739.html

你可能感兴趣的文章
4.14Python数据处理篇之Matplotlib系列(十四)---动态图的绘制
查看>>
find查询命令详情讲解
查看>>
secucrt相关技巧
查看>>
.NET Framework与.NET Framework SDK有什么不同?
查看>>
Java List删除指定的对像错误 ConcurrentModificationException
查看>>
MailGorupMemeber Export to excel
查看>>
在Linux下创建文件,文件名中包含当前时间
查看>>
Zookeeper分布式集群原理与功能
查看>>
android Handler的使用(一)
查看>>
php搜索
查看>>
ZABBIX(三) zabbix 支持的主要监控方式
查看>>
调音台使用
查看>>
Linux下安装配置MongoDB数据库
查看>>
MapGIS6.7投影生成线-以物化探综合剖面图为例
查看>>
【vSphere故障案例】案例九:ESXi主机HA未配置错误
查看>>
我的友情链接
查看>>
Bugly----修复用户的每一次Crash
查看>>
添加点击事件
查看>>
安装终端服务和终端服务授权,激活终端服务授权
查看>>
第四章源代码的下载和编译
查看>>