Foros del Web » Programando para Internet » PHP »

metodo burbuja

Estas en el tema de metodo burbuja en el foro de PHP en Foros del Web. Hola, estoy liado con un ejercicio y no me funciona, a ver si alguien me echa una mano. gracias <?php function ordenar($variable){ $tam= count($variable); for($i=0; ...
  #1 (permalink)  
Antiguo 12/11/2012, 10:56
 
Fecha de Ingreso: noviembre-2012
Mensajes: 2
Antigüedad: 12 años, 1 mes
Puntos: 0
metodo burbuja

Hola, estoy liado con un ejercicio y no me funciona, a ver si alguien me echa una mano. gracias




<?php

function ordenar($variable){
$tam= count($variable);
for($i=0; $i<=$tam; $i++){
for($j=$tam-1; $j>=$i ; $j--){
if($variable[$j] < $variable[$j-1]){
$aux=$variable[$j-1];
$variable[$j-1]=$variable[$j];
$variable[$j]=$aux;
}
}
}
echo "Los valores del nuevo array son: ";

for($i=0; $i<$tam; $i++){
echo $variable[$i];
if($i!=($tam-1)){
echo ", ";
}else{
echo ".";
}
}
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>

<?php
$a=array(2,35,22,20,15);
$valores= count ($a);

echo "Los valores del array inicial son: ";

for($i=0; $i<$valores; $i++){
echo $a[$i];
if($i!=($valores-1)){
echo ", ";
}else{
echo ".";
}
}
echo "<br/>";

echo ordenar($a);

?>

</body>
</html>
  #2 (permalink)  
Antiguo 12/11/2012, 11:39
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años, 7 meses
Puntos: 38
Respuesta: metodo burbuja

Por lo ke entendi, estas escribiendo mucho mas codigo del ke de verdad necesitas

Intenta esto.

Código PHP:
function ordenar($variable)
{
    
sort($variable);
    return 
$variable;    
}

$a = array(235222015);

if ( 
is_array($a) )
{
    echo 
'Los valores del array inicial son: ' implode', '$a ) . '. <br />';

    echo 
'Los valores del nuevo array son: ' implode', 'ordenar($a) ) . '.';
    
    exit;
}

echo 
$a
PD: si fuera tu profesor te kitara puntos por la desorganizacion del codigo en tu ejercicio.

Para mi lo fundamental del codigo en el principio es la organizacion y la limpieza en el codigo. despues de eso empezare a analizarlo, pero con una mala organizacion lo viro para atras y ke me lo envien cuando tenga una buena limpiza.

Última edición por rolygc; 12/11/2012 a las 11:44
  #3 (permalink)  
Antiguo 12/11/2012, 12:53
 
Fecha de Ingreso: noviembre-2012
Mensajes: 2
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: metodo burbuja

rolygc

gracias por tu respuesta, lo probaré.
  #4 (permalink)  
Antiguo 12/11/2012, 12:59
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 11 meses
Puntos: 206
Respuesta: metodo burbuja

Yo creo que le están pidiendo que implemente el método de ordenación "burbuja", que es el más sencillo de todos. La solución de rolyg simplemente utilizar la función sort de PHP, que también ordena arrays.

Y tal y como utilizas los bluces FOR en tu función burbuja, tu variable $tam está mal calculada.
Los arrays empiezan en cero, asi que si quieres recorrerlos, el último índide del array es su tamaño -1. Si no, te saldrías del array por el final. En resumen,
$tam= count($variable) -1;

Etiquetas: burbuja, html, metodo, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:03.