Carcleo 4 Denunciar post Postado Fevereiro 20, 2013 Bom dia pessoal. Tenho o codigo abaixo que é a ordenação de vetor pelo metodo de bolha. Gostaria de fazer ele de novo, mas usando recursão. Ou seja, pelo metodo recursivo. Alguem poderia me ajudar? <?php function bubble_sort($arr) { $size = count($arr); for ($i=0; $i<$size; $i++) { for ($j=0; $j<$size-1-$i; $j++) { if ($arr[$j+1] < $arr[$j]) { $tmp = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $tmp; } } } return $arr; } $items = array(31, 41, 59, 26, 41, 58); print "<pre>"; print_r(bubble_sort( $items )); print "</pre>"; ?> Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Fevereiro 20, 2013 ok, e qual sua dúvida ? achei um pdf bacana da unicamp com os algoritmos e codigos: http://www.ic.unicamp.br/~ra069320/PED/MC102/1s2008/Apostilas/Cap15.pdf Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Fevereiro 20, 2013 Não sei por onde começar.. Essa é a minha duvida. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Fevereiro 20, 2013 nesse pdf que eu coloquei, eles mesmos dizem que não é aconselhável fazer recursão para isso. Eu também não posso postar o código para vc, pois isso te atrapalharia. Vc tem que começar pelo entendimento do algoritmo, e pelo entendimento da recursão. Vc fez esse código acima sozinho ? ou vc pegou de algum lugar ? Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Fevereiro 21, 2013 Achei na net. Tentei a recursão assim: <?php function ordena_recursiva($array) { for ($i=0; $i<count($array)-1; $i++) { recursao($array, $i, count($array)); } return $array; } function recursao($array, $i, $count) { for ($j=$i+1; $j<$count-1; $j++) { if($array[$i] >= $array[$j]) { $aux=$array[$j]; $array[$j]=$array[$i]; $array[$i]=$aux; } } return $array[$i]; } $array= array(31, 41, 59, 26, 41, 58); print "<pre>"; print_r(ordena_recursiva($array)); print "</pre>"; ?> Mas não esta ordenando Compartilhar este post Link para o post Compartilhar em outros sites