Selection sort in php
Php program for Selection sort. Here more solutions.
<?php
/*
Php program for selection sort
*/
class MySort
{
// Swap the array element
public function swap(&$arr, $x, $y)
{
// x and y are index of array
$temp = $arr[$x];
$arr[$x] = $arr[$y];
$arr[$y] = $temp;
}
public function selectionSort(&$arr, $n)
{
$min = 0;
// Execute loop from 0..n
for ($i = 0; $i < $n; ++$i)
{
// Get current index
$min = $i;
for ($j = $i + 1; $j < $n; ++$j)
{
if ($arr[$min] > $arr[$j])
{
// Get the minimum element index
$min = $j;
}
}
if ($i != $min)
{
// Swap minimum element at i index
$this->swap($arr, $i, $min);
}
}
}
// Display array elements
public function display($arr, $n)
{
for ($i = 0; $i < $n; ++$i)
{
// Display element value
echo " $arr[$i]";
}
echo "\n";
}
public static function main()
{
$task = new MySort();
// Array of integer elements
$arr = array(8, 2, 3, 8, 1, 3, 73, 121,
54, 23, 84, 13, 67, 23, 52);
// Get the size of array
$n = count($arr);
echo " Before Sort :\n";
$task->display($arr, $n);
// Test
$task->selectionSort($arr, $n);
echo " After Sort :\n";
$task->display($arr, $n);
}
}
MySort::main();
Output
Before Sort :
8 2 3 8 1 3 73 121 54 23 84 13 67 23 52
After Sort :
1 2 3 3 8 8 13 23 23 52 54 67 73 84 121
Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.
New Comment