Home > Article > Backend Development > Bucket sorting in a simple sense (PHP implementation)
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 0
● Then, loop through the array that needs to be sorted, such as 5,3,5,2,8.
● Match the data to the elements in the $arr bucket array in turn, 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 through the array of $arr. If $arr[2]=1, the loop will output element 2 once. If $arr[5]=2, the loop will output element 5 twice.
● The result output is 2 3 5 5 8
● If the cycle 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.
For more programming-related content, please pay attention to the Programming Introduction column on the PHP Chinese website!
The above is the detailed content of Bucket sorting in a simple sense (PHP implementation). For more information, please follow other related articles on the PHP Chinese website!