Copy codeThe Code is as follows:
<? Php
/**
* Simple selection and sorting simple selection sort
*
* Principle: select each number in the array at a time, write down the current position, and assume that it is the minimum number min = I in the number following the current position, scanning from the next number of this number until the last number, and recording the min position of the minimum number. If min is not equal to I after scanning, it is assumed that it is incorrect, the number of min and I positions is switched.
*/
Function sort_simple_selection ($ list)
{
$ Len = count ($ list );
If (empty ($ len) return $ list;
For ($ I = 0; $ I <$ len; $ I ++)
{
$ Min = $ I;
For ($ j = $ I + 1; $ j <$ len; $ j ++)
{
// If ($ list [$ j]> $ list [$ min]) // from large to small
If ($ list [$ j] <$ list [$ min]) // from small to large
{
$ Min = $ j;
}
Echo implode (',', $ list ). "# pos = ". ($ min + 1 ). "min = ". $ list [$ min]. "<br/> ";
}
If ($ min! = $ I)
{
$ Temp = $ list [$ I];
$ List [$ I] = $ list [$ min];
$ List [$ min] = $ temp;
}
Echo "------------------------- <br/> ";
}
}
$ List = array );
$ List = sort_simple_selection ($ list );