반응형
PHP 버블소트 알고리즘
-------------------------------------------------------------------------------------------
<?php
/*
Esta função troca o valor de duas variáveis entre si.
Opcional. Pode ser embutido na bolha
*/
function swap(&$valor_1, &$valor_2) {
$valor_1_antigo = $valor_1;
$valor_2_antigo = $valor_2;
$valor_1 = $valor_2_antigo;
$valor_2 = $valor_1_antigo;
}
/* Array de teste */
$arrToSort = array(1, 4, 7, 3, 8, 9, 10);
/* a BOLHA! ;-) */
for ($i = 0; $i < count($arrToSort); $i++) {
for ($j = $i; $j < count($arrToSort); $j++) {
if ($arrToSort[$i] > $arrToSort[$j]) {
swap($arrToSort[$i], $arrToSort[$j]);
}
}
}
/* Opcional. Exibe o array de um jeito que nós podemos entender! =D */
print_r($arrToSort);
?>
-------------------------------------------------------------------------------------------
<?php
function BubbleSort( $items ) {
$temp = "";
$size = count( $items );
for( $i = 1; $i <= $size-1; $i++ ) {
for( $j = 1; $j <= $size - 1 - $i; $j++ ) {
if( $items[$j+1] < $items[$j] ) {
$temp = $items[$j];
$items[$j] = $items[$j+1];
$items[$j+1] = $temp;
}
}
}
}
$items = array(31, 41, 59, 26, 41, 58);
BubbleSort( $items );
?>
-------------------------------------------------------------------------------------------
<?php
/*
Esta função troca o valor de duas variáveis entre si.
Opcional. Pode ser embutido na bolha
*/
function swap(&$valor_1, &$valor_2) {
$valor_1_antigo = $valor_1;
$valor_2_antigo = $valor_2;
$valor_1 = $valor_2_antigo;
$valor_2 = $valor_1_antigo;
}
/* Array de teste */
$arrToSort = array(1, 4, 7, 3, 8, 9, 10);
/* a BOLHA! ;-) */
for ($i = 0; $i < count($arrToSort); $i++) {
for ($j = $i; $j < count($arrToSort); $j++) {
if ($arrToSort[$i] > $arrToSort[$j]) {
swap($arrToSort[$i], $arrToSort[$j]);
}
}
}
/* Opcional. Exibe o array de um jeito que nós podemos entender! =D */
print_r($arrToSort);
?>
-------------------------------------------------------------------------------------------
<?php
function BubbleSort( $items ) {
$temp = "";
$size = count( $items );
for( $i = 1; $i <= $size-1; $i++ ) {
for( $j = 1; $j <= $size - 1 - $i; $j++ ) {
if( $items[$j+1] < $items[$j] ) {
$temp = $items[$j];
$items[$j] = $items[$j+1];
$items[$j+1] = $temp;
}
}
}
}
$items = array(31, 41, 59, 26, 41, 58);
BubbleSort( $items );
?>
반응형
'PHP∵SCRIPT' 카테고리의 다른 글
PHP에서 특수문자 없애는 정규표현식 (0) | 2014.03.25 |
---|---|
비교연산과 조건문... (0) | 2014.03.25 |
반복실행문 (0) | 2014.03.25 |
PHP 난수를 이용한 쿠폰번호 생성하기 (0) | 2014.03.23 |
리눅스 ftp 명령어 모음 (0) | 2014.03.23 |
리눅스 특정 문자열 찾기 (0) | 2014.03.23 |
유용한 함수 모음 (0) | 2014.03.23 |
php 자주쓰이는 함수 (0) | 2014.03.23 |
댓글