冒泡法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
//冒泡排序
function
maopao(
$arr
)
{
$n
=
count
(
$arr
);
for
(
$j
=0;
$j
<
$n
-1;
$j
++)
{
for
(
$i
=
$j
+1;
$i
<=
$n
-1;
$i
++) {
if
(
$arr
[
$j
]>
$arr
[
$i
])
{
$t
=
$arr
[
$i
];
$arr
[
$i
] =
$arr
[
$j
];
$arr
[
$j
]=
$t
;
}
}
}
return
$arr
;
}
$arr
=
array
(1,5,4,7,3,2);
print_r(
$arr
);
|
快速排序:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
//快速排序
function
quick(
$array
)
{
if
(
count
(
$array
)<=1)
{
return
$array
;
}
$key
=
$array
[0];
$l
=
array
();
$r
=
array
();
for
(
$i
=1;
$i
{
if
(
$array
[
$i
]<=
$key
)
{
$l
[] =
$array
[
$i
];
}
else
{
$r
[] =
$array
[
$i
];
}
}
$l
= quick(
$l
);
$r
= quick(
$r
);
return
array_merge
(
$l
,
array
(
$key
),
$r
);
}
$array
=
array
(2,5,3,4,1);
print_r(quick(
$array
));
|
插入排序:(一维数组)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
//插入排序
function
insert_sort(
$arr
){
$count
=
count
(
$arr
);
for
(
$i
=1;
$i
<
$count
;
$i
++){
$tmp
=
$arr
[
$i
];
$j
=
$i
- 1;
while
(
$arr
[
$j
] >
$tmp
){
$arr
[
$j
+1] =
$arr
[
$j
];
$arr
[
$j
] =
$tmp
;
$j
--;
}
}
return
$arr
;
}
|
选择排序(一维数组)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
//选择排序
function
select_sort(
$arr
){
$count
=
count
(
$arr
);
for
(
$i
=0;
$i
<
$count
;
$i
++){
$k
=
$i
;
for
(
$j
=
$i
+1;
$j
<
$count
;
$j
++){
if
(
$arr
[
$k
] >
$arr
[
$j
])
$k
=
$j
;
if
(
$k
!=
$i
){
$tmp
=
$arr
[
$i
];
$arr
[
$i
] =
$arr
[
$k
];
$arr
[
$k
] =
$tmp
;
}
}
}
return
$arr
;
}
|