Home >Backend Development >PHP Tutorial >PHP selection sorting method implements array sorting example analysis, array example analysis_PHP tutorial

PHP selection sorting method implements array sorting example analysis, array example analysis_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:06:21831browse

PHP selection sorting method to implement array sorting example analysis, array example analysis

This article analyzes the method of implementing array sorting using PHP selection sorting method. Share it with everyone for your reference. The specific analysis is as follows:

The basic idea of ​​the selection sorting method: Let’s use a case to illustrate it. For example, there is an array $arr = array(2,6,3,9), sorted from large to small.

The first big loop: it first assumes that $arr[0] is the maximum value, and then compares it with $arr[1]~$arr[3] respectively. If it is larger, it will be exchanged. The process is as follows (2,6,3,9)---The ratio of 2 and 6--->(6,2,3,9)---The ratio of 6 and 3--->(6,2,3,9 )---6 and 9 ratio--->(9,2,3,6). Note that the subscripts here also need to change.

The second big loop: assuming $arr[1] is the largest ($arr[0] is excluded), compare it with $arr[2]~$arr[3] respectively. The process is as follows (9,2,3 ,6)----2 and 3 ratio---->(9,3,2,6)---3 and 6 ratio--->(9,6,2,3).

The third big loop: Assume $arr[2] is the largest, compare it with $arr[3], the process is like this (9,6,2,3)---2 and 3 ratio--->( 9,6,3,2)

Similarly, after N-1 large cycles, it can be arranged

The PHP code is as follows, which is also encapsulated with functions

<&#63;php
function selectSort(&$arr){
 for($i=0;$i<count($arr);$i++){
 $max = $arr[$i];
 for($j=$i+1;$j<count($arr);$j++){
  if($max<$arr[$j]){
  $max = $arr[$j];
  $arr[$j] = $arr[$i];
  $arr[$i] = $max;
  }
 }
 }
 return $arr;
}
$myarr = array(2,6,3,9);
selectSort($myarr);
echo "<pre class="brush:php;toolbar:false">";
print_r($myarr);
&#63;>

Code analysis:

The first big cycle:

$i=0 array(2,6,3,9)
$j=1, execute the ratio of 2 and 6: it becomes $arr[0]=6, $arr[1]=2, $max=6, that is, (6,2,3,9)
$j=2, execute 3 and 6 ratio: do not execute
$j=3, execute the ratio of 9 and 6: it becomes $arr[0]=9, $arr[3]=6, $max=9, that is, (9,2,3,6)

Second cycle:

$i=1,$max=$arr[1]=2, array (9,2,3,6)
$j=2, execute the ratio of 3 and 2: it becomes $arr[1]=3, $arr[2]=2, $max=3, that is, (9,3,2,6)
$j=3, execute the ratio of 6 and 3: it becomes $arr[1]=6, $arr[3]=3, $max=6, that is, (9,6,2,3)

The third cycle:

$i=2,$max=$arr[2]=2, array (9,6,2,3)
$j=3, execute the ratio of 3 and 2: it becomes $max[2]=3, $arr[3]=2, $max=3, that is, (9,6,3,2)

I hope this article will be helpful to everyone’s PHP programming design.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/959115.htmlTechArticlePHP selection sorting method to implement array sorting example analysis, array example analysis This article provides an example analysis of php selection sorting method to implement array sorting method. Share it with everyone for your reference. Detailed analysis...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn