"PHP 퀵정렬 구현"의 두 판 사이의 차이

(새 문서: ==개요== ;PHP 퀵정렬 구현 <source lang='php'> <?php function quick_sort(&$a, $L=0, $R=-1) { if($R==-1) $R=count($a)-1; $pivot = $a[$L]; for($left=$L,$right=$R; $le...)
 
 
(사용자 2명의 중간 판 4개는 보이지 않습니다)
2번째 줄: 2번째 줄:
;PHP 퀵정렬 구현
;PHP 퀵정렬 구현


<source lang='php'>
<syntaxhighlight lang='php' run>
<?php
function quick_sort(&$a, $L=0, $R=-1) {
function quick_sort(&$a, $L=0, $R=-1) {
     if($R==-1) $R=count($a)-1;
     if($R==-1) $R=count($a)-1;
20번째 줄: 19번째 줄:
$arr = [9,1,22,4,0,-1,1,22,100,10];
$arr = [9,1,22,4,0,-1,1,22,100,10];
quick_sort( $arr );
quick_sort( $arr );
echo implode(' ', $arr);
echo implode(',',$arr); # -1,0,1,1,4,9,10,22,22,100
# -1 0 1 1 4 9 10 22 22 100
</syntaxhighlight>
</source>


==같이 보기==
==같이 보기==
* [[퀵정렬]]
* [[퀵정렬]]
* [[퀵정렬 구현]]
* [[퀵정렬 구현]]
* [[같이보기]]
* [[같이보기]]


[[분류: PHP 정렬]]
[[분류: PHP 정렬]]
[[분류: 퀵정렬]]
[[분류: 퀵정렬]]

2022년 4월 26일 (화) 01:54 기준 최신판

1 개요[ | ]

PHP 퀵정렬 구현
function quick_sort(&$a, $L=0, $R=-1) {
    if($R==-1) $R=count($a)-1;
    $pivot = $a[$L];
    for($left=$L,$right=$R; $left<$right; $right--) {
        while( $a[$right]>=$pivot && $left<$right ) $right--;
        if( $left<$right ) $a[$left] = $a[$right];
        while( $a[$left]<=$pivot && $left<$right ) $left++;
        if( $left>=$right ) break;
        $a[$right] = $a[$left];
    }
    $a[$left]=$pivot;
    if($left>$L) quick_sort($a, $L, $left-1);
    if($left<$R) quick_sort($a, $left+1, $R);
}
$arr = [9,1,22,4,0,-1,1,22,100,10];
quick_sort( $arr );
echo implode(',',$arr); # -1,0,1,1,4,9,10,22,22,100

2 같이 보기[ | ]

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