# bubblesort

By jayon crow
on March 21, 2007

Version: 3.0

Type: Function

Category: Algorithms

Description: This is a simple bubblesort by Petter Nilsenthat takes 2 arrays as argument.The first one is the actual data used for sorting, the second is data that will “tag along” with the first array, for instance a descriptive text about the data in the first array.

```/* Author: J.B.Lamer, Date: 20070321
*
* bubblesort() takes one array and sorts it
* slow but simple
*
* If you want to reverse, suggest doing the
*  check outside of the for loops
*  and call two different (outer) for loops
*  checking on each rotation can slow you down
*/
function bubblesort( &\$a1 )
{
if ( !is_array(\$a1) )
{ return false; }
\$len = count(\$a1);
// go down array and get an element
for( \$i = 0; \$i < \$len; \$i++ )
{
// check everything above element
// if we are larger than swap it
// with that one
for ( \$j = (\$i+1); \$j < \$len; \$j++ )
{
if ( \$a1[\$i] > \$a1[\$j] )
{	swap( \$a1[\$i], \$a1[\$j] ); }
}
// at this point the position at \$i is the smallest
// go to the next one
}
return true;
}

if ( !function_exists('swap') )
{
// quess what this function is for
function swap( &\$a, &\$b )
{
\$h = \$a;
\$a = \$b;
\$b = \$h;
}
}```
﻿