This article explains how to implement the bucket sorting algorithm in PHP.
Bucket sorting in a simple sense:
The principle of bucket sorting is to first arrange N 1 buckets as containers, if the data range is N.
Then loop the test data (data that needs to be sorted) and put it into the corresponding bucket. The data must be within range N.
Finally, loop the elements in the bucket and output them, sorting them from large to small or small to large.
For example:
Our value range is 10, then we need to define an array $arr with a length of 11. And make all element values 0
Then , loop through the array that needs to be sorted, such as 5, 3, 5, 2, 8. (The value range here is actually only 8)
Correspond to the data in the $arr bucket array in sequence, that is, if it is 5 , then make $arr[5] .
At this time $arr[2]=1 $arr[3]=1 $arr[5]=2 $arr[8]=1
Then loop the array of $arr. If $arr[2]=1, the loop outputs element 2 once. If $arr[5]=2, the loop outputs 5 twice.
The result output is 2 3 5 5 8
If the loop value is from large to small, it will be sorted from large to small
//Set the default array, the default value is 0;
$arr = array(); for ($i = 0; $i <= 10; $i++) { $arr[$i] = 0; } //设置测试的五个数据 $arr1 = array(5, 3, 5, 2, 8); //根据数据 对默认数组的对应元素进行+1; J的取值范围不能等于$arr1数组长度 for ($j = 0; $j < count($arr1); $j++) { //这边给相应的数组值+1 $arr[$arr1[$j]]++; } //开始循环输出 默认数组 $arr 里面相应的值 for ($k = 0; $k <= 10; $k++) { for ($l=1; $l <=$arr[$k]; $l++) { echo "$k "; } } ?>
This article explains how to implement the bucket sorting algorithm in PHP. For more related content, please pay attention to the PHP Chinese website.
Related recommendations:
thinkPHP5 framework database coherent operation: cache() usage details
##PHP interface multiple inheritance and tarits Tutorial details on how to achieve multiple inheritance effects
PHP How to get the start date and end date of the first week of a certain year
The above is the detailed content of PHP implements bucket sort algorithm. For more information, please follow other related articles on the PHP Chinese website!