PHP 거품정렬 구현

1 개요[ | ]

PHP 거품정렬 구현
기본형
<?php
function bubble_sort(&$a) {
	$size = count($a);
	for($i=0; $i<$size-1; $i++) {
		for($j=1; $j<$size-$i; $j++) {
			if($a[$j-1] > $a[$j]) {
				$temp=$a[$j-1]; $a[$j-1]=$a[$j]; $a[$j]=$temp;
			}
		}
	}
}
$arr = [9,1,22,4,0,-1,1,22,100,10];
bubble_sort( $arr );
echo implode(',', $arr);
# -1,0,1,1,4,9,10,22,22,100
개선형 (swapped 플래그 적용)
<?php
function bubble_sort(&$a) {
	$size = count($a);
	for($i=0; $i<$size-1; $i++) {
		$swapped = false;
		for($j=1; $j<$size-$i; $j++) {
			if($a[$j-1] > $a[$j]) {
				$temp=$a[$j-1]; $a[$j-1]=$a[$j]; $a[$j]=$temp;
				$swapped = true;
			}
		}
		if( !$swapped ) break;
	}
}
$arr = [9,1,22,4,0,-1,1,22,100,10];
bubble_sort( $arr );
echo implode(',', $arr);
# -1,0,1,1,4,9,10,22,22,100

2 같이 보기[ | ]

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