PHP排序
▲ 概念:所谓排序就是对一组数据,按照某个顺序排列的过程。
排序分两大类:首先来介绍一些常用的排序方法,排序是一个程序员的基本功;
1.交换式排序法 - 冒泡排序法;
- 通过对待排序序列从后向前(从下标较大的元素开始),依次比较相邻元素的排序码,若发现逆序则交换,使排序码较小的元素逐渐从后补移向前部(从下标较大的单元移向下标较小的单元),就想水底下的气泡一样逐渐向上冒。
因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,就说明序列有序,因此要在排序过程中设置一个标志flag判断元素是否进行过交换。从而减少不必要的比较。
数组默认传递的是值,不是地址
2.选择排序法;
- 选择排序也属于内部排序法,是从欲排序的数据中,按指定的规则选出某一元素,经过和其他元素重整,在依原则交换位置后达到排序的目的。
3.插入排序法;
- 插入排序法属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。
- 排序思想:把N个待排序的元素看成为一个有序表和一个无序表,开始时有序表只包含一个元素,无序表中包含有N-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码一次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。
4.快速排序法
- 该方法用到了递归。