Home  >  Article  >  Backend Development  >  PHP selection sorting principles and usage

PHP selection sorting principles and usage

墨辰丷
墨辰丷Original
2018-06-13 11:15:152366browse

This article mainly introduces the method of implementing array sorting by PHP selection sorting. It analyzes the principle and specific implementation steps of selection sorting with examples. It has certain reference value. Friends who need it can refer to this article

An example analysis of how to implement array sorting using PHP selection sorting method. Share it with everyone for your reference. The specific analysis is as follows:

The basic idea of ​​​​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 is exchanged. The process is like this (2,6,3,9)---ratio of 2 and 6--->(6,2,3,9)---ratio of 6 and 3--->(6,2, 3,9)---6 and 9 than--->(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)----The ratio of 2 and 3---->(9,3,2,6)---The ratio of 3 and 6--->(9,6,2,3) .

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

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

The PHP code is as follows, here it is also encapsulated with functions

<?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);
?>

Code analysis:

The first big loop:

$i=0 array (2,6,3,9)
$j=1, Execute 2 and 6: become $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 9 and 6 Ratio: become $arr[0]=9, $arr[3]=6, $max=9 that is (9,2,3,6)

The second big loop:

$i=1,$max=$arr[1]=2, array (9,2,3,6)
$j= 2. Execute 3 and compare 2: it becomes $arr[1]=3, $arr[2]=2, $max=3 that is (9,3,2,6)
$j=3, execute 6 Compared with 3: it becomes $arr[1]=6, $arr[3]=3, $max=6, that is (9,6,2,3)

The third big cycle:

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

Summary: The above is the entire content of this article, I hope It can be helpful to everyone’s study.

Related recommendations:

The definition and usage of the mail function in php

How to send emails by operating forms in php

How to add spaces to each paragraph in php

The above is the detailed content of PHP selection sorting principles and usage. For more information, please follow other related articles on the PHP Chinese website!

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