1 <?php
2
3 // 选择排序
4
5 function select_sort($arr)
6
7 {
8
9 $count = count($arr);
10
11 for ($i = 0; $i < $count; $i ++) {
12
13 $k = $i;
14
15 for ($j = $i + 1; $j < $count; $j ++) {
16
17 if ($arr[$k] > $arr[$j])
18
19 $k = $j;
20
21 if ($k != $i) {
22
23 $tmp = $arr[$i];
24
25 $arr[$i] = $arr[$k];
26
27 $arr[$k] = $tmp;
28
29 }
30
31 }
32
33 }
34
35 return $arr;
36
37 }
38
39
40
41 // 插入排序
42
43 function insert_sort($arr)
44
45 {
46
47 $count = count($arr);
48
49 for ($i = 1; $i < $count; $i ++) {
50
51 $tmp = $arr[$i];
52
53 $j = $i - 1;
54
55 while ($arr[$j] > $tmp) {
56
57 $arr[$j + 1] = $arr[$j];
58
59 $arr[$j] = $tmp;
60
61 $j;
62
63 }
64
65 }
66
67 return $arr;
68
69 }
70
71 // 快速排序法
72
73 function quick($array)
74
75 {
76
77 if (count($array) <= 1) {
78
79 return $array;
80
81 }
82
83 $key = $array[0];
84
85 $l = array();
86
87 $r = array();
88
89 for($i=1;$i {
90
91
92
93 if ($array[$i] <= $key) {
94
95 $l[] = $array[$i];
96
97 } else {
98
99 $r[] = $array[$i];
100
101 }
102
103 }
104
105
106
107 $l = quick($l);
108
109 $r = quick($r);
110
111 return array_merge($l, array(
112
113 $key
114
115 ), $r);
116
117 }
118
119
120
121 //冒泡排序
122
123 function maopao($arr)
124
125 {
126
127 $n = count($arr);
128
129 for($j=0;$j<$n-1;$j++)
130
131 {
132
133 for($i=$j+1;$i<=$n-1;$i++) {
134
135 if($arr[$j]>$arr[$i])
136
137 {
138
139 $t = $arr[$i];
140
141 $arr[$i] = $arr[$j];
142
143 $arr[$j]=$t;
144
145 }
146
147 }
148
149 }
150
151 return $arr;
152
153 }