thanks for all your help... I got it after a bit of REAl thinking I got
what that algorithm was meant to... it wasn't really the original
bubble-sort... it's a kinda of pseudo-optimized 'one'... it goes like above:
function bubblesort(&$vetor,$tam)
{
$troca=0;
$i=0;
for($i=$tam; $i>0; $i--)
{
$troca=1;
for($j=0; $j<$tam ;$j++)
{
if($vetor[$j] > $vetor[$j+1])
{
$aux=$vetor[$j];
$vetor[$j]=$vetor[$j+1];
$vetor[$j+1]=$aux;
$troca=$j;
}
}
$tam=$troca;
}
}
well... enough about that poor sorting method... :)
At 16:45 14/9/2001 -0500, Richard Lynch wrote:
>It's been far too long since I've done bubble sort versus Shell versus etc.
>
>If it's your girlfriend's homework, she should know, or know how to find
>out, better than either of us...
>
>--
>WARNING [EMAIL PROTECTED] address is an endangered species -- Use
>[EMAIL PROTECTED]
>Wanna help me out? Like Music? Buy a CD: http://l-i-e.com/artists.htm
>Volunteer a little time: http://chatmusic.com/volunteer.htm
>----- Original Message -----
>From: Christian Dechery <[EMAIL PROTECTED]>
>To: Richard Lynch <[EMAIL PROTECTED]>
>Cc: <[EMAIL PROTECTED]>
>Sent: Friday, September 14, 2001 9:12 AM
>Subject: Re: is PHP crazy, or am I?
>
>
> > I must have deleted the line by accident...
> >
> > $trocou=true; is right below $vetor[$j+1]=$aux;
> >
> > would that make sense?
> >
> > I'm not worried about the optimization here... I want to get time results
> > for bubblesort... and then I'm going to heap, quick, and others... It's
> > some college homework for my girlfriend...
> >
> >
> > At 00:07 14/09/01 -0500, you wrote:
> > >function bubblesort(&$vetor,$tam)
> > >{
> > > $trocou=true;
> > > $i=$j=0;
> > >
> > > while($trocou)
> > > {
> > > $trocou=false;
> > >
> > ># You set $trocou to false here, and never reset it to true
> > ># This loop will execute exactly once.
> > >
> > > for($j=0; $j<$tam-$i; $j++)
> > > {
> > > if($vetor[$j] > $vetor[$j+1])
> > > {
> > > $aux=$vetor[$j];
> > > $vetor[$j]=$vetor[$j+1];
> > > $vetor[$j+1]=$aux;
> > > }
> > > $i++;
> > > }
> > > }
> > >}
> > >
> > > > it's right right?
> > >
> > >No.
> > >
> > >As near as I can figure, you are incrementing $j and decrementing $i on
> > >every iteration.
> > >That would mean that even if you fixed $trocou your sort algorithm would
>be
> > >O(n)
> > >(Actually it's exactly 1/2 n, but that's the same as O(n) for
>sufficiently
> > >large n.)
> > >
> > >Alas, that can't be correct (we wish) and is not the standard bubble
>sort...
> > >
> > >Try this for the body:
> > >for ($i = 0; $i < $tam -1; $i++){
> > > for ($j = $i + 1; $j < $tam -1; $j++){
> > > if ($vetor[$i] < $vetor[$j]){
> > > $aux = $vetor[$i];
> > > $vetor[$i] = $vetor[$j];
> > > $vetor[$j] = $aux;
> > > }
> > > }
> > >}
> > >
> > >Forget the trocou bit.
> > >
> > > > so why when I print the array (with a for(;;) or with print_r) it
>still
> > > > shows me it's not ordered... I printed it INSIDE the function...
>what's
> > >the
> > > > thing here? I'm I nuts?
> > >
> > >--
> > >WARNING [EMAIL PROTECTED] address is an endangered species -- Use
> > >[EMAIL PROTECTED]
> > >Wanna help me out? Like Music? Buy a CD: http://l-i-e.com/artists.htm
> > >Volunteer a little time: http://chatmusic.com/volunteer.htm
p.s: meu novo email é [EMAIL PROTECTED]
____________________________
. Christian Dechery (lemming)
. http://www.tanamesa.com.br
. Gaita-L Owner / Web Developer
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]