Examples of common PHP sorting algorithms: [basic sorting, Bubble sorting, fast sorting, insert sorting], algorithm Summary
This example summarizes common PHP sorting algorithms. We will share this with you for your reference. The details are as follows:
Class bevin {public $ public = 'public'; private $ private = 'private'; protected $ protected = 'protected'; // final $ final = 'final '; static $ static = 'static '; function _ construct () {$ this-> protected = 'change private';} public function setValue ($ a) {self :: $ static = $ a;} public function getValue () {echo $ this-> private;} function _ destruct () {echo 'asdfsadf ';}} class paixu {// basic sorting public function t_sortArray ($ Array) {if (is_array ($ array) & count ($ array)> 1) {for ($ I = 0; $ I <count ($ array ); $ I ++) {for ($ j = ($ I + 1); $ j <count ($ array); $ j ++) {$ temp = $ array [$ I]; if ($ array [$ j] <$ array [$ I]) {$ array [$ I] = $ array [$ j]; $ array [$ j] = $ temp ;}} return $ array ;} else {return $ array; }}// bubble sort public function c_sortArray ($ array) {if (! Is_array ($ array) | count ($ array) <= 1) {return $ array;} $ status = false; foreach ($ array as $ key => $ v) {if ($ key> 0) {if ($ array [$ key-1]> $ array [$ key]) {$ array [$ key] = $ array [$ key-1]; $ array [$ key-1] = $ v; $ status = true ;}}} if ($ status) {return $ this-> c_sortArray ($ array) ;}else {return $ array ;}// Quick Sort public function v_sortArray ($ array) {if (! Is_array ($ array) | count ($ array) <= 1) {return $ array;} if (count ($ array)> 2) {$ m = $ array [floor (count ($ array)/2) + 1];} else {if ($ array [0]> $ array [1]) {$ temp = $ array [0]; $ array [0] = $ array [1]; $ array [1] = $ temp;} return $ array ;} $ leftarray = array (); $ rightarray = array (); foreach ($ array as $ key = >$ v) {if ($ v> $ m) {$ rightarray [] = $ v;} if ($ v <$ m) {$ leftarray [] = $ v;} if ($ v = $ m) {$ mid [] = $ v ;}} $ Nleftarray = $ this-> v_sortArray ($ leftarray); $ nrightarray = $ this-> v_sortArray ($ rightarray); return array_merge ($ nleftarray, $ mid, $ nrightarray);} // directly Insert the sort public function I _sortArray ($ array) {if (! Is_array ($ array) | count ($ array) <= 1) {return $ array;} $ newarray = array ($ array [0]); $ temp = 0; foreach ($ array as $ k =>$ v) {if ($ k> 0) {if ($ v >=$ newarray [count ($ newarray)-1]) {$ newarray [] = $ v;} else {foreach ($ newarray as $ nk = >$ nv) {if ($ v <$ nv) {$ temparray = array (); foreach ($ newarray as $ ck => $ cv) {if ($ ck <$ nk) {$ temparray [$ ck] = $ cv;} elseif ($ ck = $ nk) {$ temparray [$ ck] = $ v; $ temparray [($ ck + 1)] = $ cv;} else {$ temparray [($ ck + 1)] = $ cv ;}$ newarray = $ temparray; break ;}}}return $ newarray; }}$ bevin = new paixu; $ array = array (5, 4, 5, 4, 5, 5, 5, 5 ); $ v = $ bevin-> t_sortArray ($ array); print_r ($ v); $ v = $ bevin-> c_sortArray ($ array); print_r ($ v ); $ v = $ bevin-> v_sortArray ($ array); print_r ($ v); $ v = $ bevin-> I _sortArray ($ array); print_r ($ v );
Running result:
Array( [0] => 4 [1] => 4 [2] => 4 [3] => 5 [4] => 5 [5] => 5 [6] => 5 [7] => 5 [8] => 5 [9] => 5)Array( [0] => 4 [1] => 4 [2] => 4 [3] => 5 [4] => 5 [5] => 5 [6] => 5 [7] => 5 [8] => 5 [9] => 5)Array( [0] => 4 [1] => 4 [2] => 4 [3] => 5 [4] => 5 [5] => 5 [6] => 5 [7] => 5 [8] => 5 [9] => 5)Array( [0] => 4 [1] => 4 [2] => 4 [3] => 5 [4] => 5 [5] => 5 [6] => 5 [7] => 5 [8] => 5 [9] => 5)