PHP 쉘정렬 구현

1 개요[ | ]

PHP 쉘정렬 구현
<?php
function shell_sort(&$a) {
    $size = count($a);
    $gap = intdiv($size,2);
    while( $gap > 0 ) {
        for($i=$gap; $i<$size; $i++) {
            $temp = $a[$i];
            $j = $i;
            while( $j>=$gap && $a[$j-$gap]>$temp ) {
                $a[$j] = $a[$j-$gap];
                $j -= $gap;
            }
            $a[$j] = $temp;
        }
        $gap = intdiv($gap,2);
    }
}
$arr = [9,1,22,4,0,-1,1,22,100,10];
shell_sort( $arr );
echo implode(',',$arr);
# -1,0,1,1,4,9,10,22,22,100

2 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}