Saturday, January 9, 2016

Quick Sort in PHP

A simple program that I wrote in PHP to sort a series of numbers Quick Sort algorithm.

 If you have some questions please send me an email at jakerpomperada@gmail.comand jakerpomperada@yahoo.com.  

My mobile number here in the Philippines is 09173084360.


Sample Program Output


Program Listing

<?php
error_reporting(0);
$a= $_POST['val_1'];
$b= $_POST['val_2'];
$c= $_POST['val_3'];
$d= $_POST['val_4'];
$e= $_POST['val_5']; 

 if(isset($_POST['clear']))
$a=""; $b=""; $c=""; $d=""; $e="";
$display_original="";  $process_results="";
}

?>
<html>
<head>
<title>Quick Sort in PHP</title>
<style>
body { font-family:arial;}
form { width: 400px; }
label { float: left; width: 95px; }
.clear { clear: both; height: 0; line-height: 0; }
.floatright { float: right; }
</style>
</head>
<body>
<h2>Quick Sort in PHP</h2>
<form  action="" method="post">
<label>Value No. 1 : </label> <input type="text" name="val_1" value="<?php echo $a; ?>" size="5" maxlength="5"  autofocus/><br/><br>
<label>Value No. 2 : </label> <input type="text" name="val_2" value="<?php echo $b; ?>" size="5" maxlength="5"/><br/><br>
<label>Value No. 3 : </label> <input type="text" name="val_3" value="<?php echo $c; ?>" size="5" maxlength="5"/><br/><br>
<label>Value No. 4 : </label> <input type="text" name="val_4" value="<?php echo $d; ?>"size="5" maxlength="5"/><br/><br>
<label>Value No. 5 : </label> <input type="text" name="val_5" value="<?php echo $e; ?>"size="5" maxlength="5"/><br/>
<br />
<input type="submit" value="Sort" name="bubble"/>
<input type="submit" value="Clear" name="clear" />
</form>

<?php

function quicksort(array $arr, $left, $right)
{
    $i = $left;
    $j = $right;
    $separator = $arr[floor(($left + $right) / 2)];
     
    while ($i <= $j) {
        while ($arr[$i] < $separator) {
            $i++;
        }
         
        while($arr[$j] > $separator) {
            $j--;
        }
         
        if ($i <= $j) {
            $tmp = $arr[$i];
            $arr[$i] = $arr[$j];
            $arr[$j] = $tmp;
            $i++;
            $j--;
        }
    }
     
    if ($left < $j) {
        $arr = quicksort($arr, $left, $j);
    }
     
    if ($right > $i) {
        $arr = quicksort($arr, $i, $right);
    }
     
    return $arr;
}

    
if(isset($_POST['bubble']))

  $arr = array($a,$b,$c,$d,$e);
  $result = quicksort($arr, 0, (sizeof($arr)-1));

  $original_values = implode(",", $arr);
  $withComma = implode(",", $result);

  $display_original =  "Original Values : " .$original_values."<br><br>";
  $process_results  = "Sorted Values : " .$withComma."<br>";
  
  echo $display_original;
  echo $process_results;

}

?>
</body>
</html>



No comments:

Post a Comment