Home > Article > Backend Development > PHP selection sorting principles and usage
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!