Home  >  Article  >  Backend Development  >  Explanation of implementing bucket sorting algorithm in PHP

Explanation of implementing bucket sorting algorithm in PHP

jacklove
jackloveOriginal
2018-07-03 17:51:091390browse

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.

Articles you may be interested in:

Detailed explanation of the problems encountered when setting up lazy loading during Laravel Service Provider development

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn