This article mainly introduces the bucket sorting algorithm implemented in PHP in detail, which has a certain reference value. Interested friends can refer to
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 let all element values be is 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, make $arr[5] .
At this time $arr[2]=1 $arr[3]=1 $arr[5]=2 $arr[8]=1
Then loop For the array of $arr, if $arr[2]=1, the loop outputs element 2 once, and if $arr[5]=2, the loop outputs 5 twice.
The resulting output is 2 3 5 5 8
If the loop value is from large to small, it will be sorted from large to small
<?php //设置默认数组,默认值为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 </n>"; } } ?>
Disadvantages:
Waste of space.
Unable to sort floating-point data.
The above is the entire content of this article. I hope it will be helpful to everyone's learning, and I also hope that everyone will support the PHP Chinese website.
PHP implements sorting heap sort algorithm
PHP simple selection sort algorithm learning
The above is the detailed content of Explanation of implementing bucket sorting algorithm in PHP. For more information, please follow other related articles on the PHP Chinese website!