ソートを挿入ソートのPHPを直接挿入してStraight Insertion Sortを実現
3192 ワード
直接挿入ソート(straight insertion sort)のPHP実装は、array_splice、強い関数を使いました.
view source
print ?
view source
print ?
01
function
out_arr(
$arr
) {
02
return
implode(
', '
,
$arr
).'
03
';
04
}
05
06
function
sort_straight_insertion(
$arr
) {
07
$ret
[] =
$arr
[0];
08
for
(
$i
= 1;
$i
<
count
(
$arr
);
$i
++ ) {
09
for
(
$j
= 0;
$j
<
count
(
$ret
);
$j
++ ) {
10
if
(
$arr
[
$i
] <
$ret
[
$j
] ) {
11
array_splice
(
$ret
,
$j
, 0,
array
(
$arr
[
$i
]));
12
break
;
13
}
14
}
15
if
(
count
(
$ret
) ==
$i
) {
16
$ret
[] =
$arr
[
$i
];
17
}
18
echo
sprintf(
'%3d'
,
$i
).
' : '
.out_arr(
$ret
);
19
}
20
}
21
22
echo
'<pre>'
;
23
$arr
= range(1, 20);
24
shuffle(
$arr
);
25
echo
'ORG : '
.out_arr(
$arr
);
26
sort_straight_insertion(
$arr
);
27
echo
'</pre>'
;