PHP排序
▲ 概念:所謂排序就是對(duì)一組數(shù)據(jù),按照某個(gè)順序排列的過(guò)程。
排序分兩大類:首先來(lái)介紹一些常用的排序方法,排序是一個(gè)程序員的基本功;
1.交換式排序法 - 冒泡排序法;
- 通過(guò)對(duì)待排序序列從后向前(從下標(biāo)較大的元素開始),依次比較相鄰元素的排序碼,若發(fā)現(xiàn)逆序則交換,使排序碼較小的元素逐漸從后補(bǔ)移向前部(從下標(biāo)較大的單元移向下標(biāo)較小的單元),就想水底下的氣泡一樣逐漸向上冒。
因?yàn)榕判虻倪^(guò)程中,各元素不斷接近自己的位置,如果一趟比較下來(lái)沒(méi)有進(jìn)行過(guò)交換,就說(shuō)明序列有序,因此要在排序過(guò)程中設(shè)置一個(gè)標(biāo)志flag判斷元素是否進(jìn)行過(guò)交換。從而減少不必要的比較。
- 冒泡排序法.png
數(shù)組默認(rèn)傳遞的是值,不是地址
2.選擇排序法;
- 選擇排序也屬于內(nèi)部排序法,是從欲排序的數(shù)據(jù)中,按指定的規(guī)則選出某一元素,經(jīng)過(guò)和其他元素重整,在依原則交換位置后達(dá)到排序的目的。
- 選擇排序法.png
3.插入排序法;
- 插入排序法屬于內(nèi)部排序法,是對(duì)于欲排序的元素以插入的方式找尋該元素的適當(dāng)位置,以達(dá)到排序的目的。
- 排序思想:把N個(gè)待排序的元素看成為一個(gè)有序表和一個(gè)無(wú)序表,開始時(shí)有序表只包含一個(gè)元素,無(wú)序表中包含有N-1個(gè)元素,排序過(guò)程中每次從無(wú)序表中取出第一個(gè)元素,把它的排序碼一次與有序表元素的排序碼進(jìn)行比較,將它插入到有序表中的適當(dāng)位置,使之成為新的有序表。
- 插入排序法.png
4.快速排序法
- 該方法用到了遞歸。
- 快速排序法.png



