Home >Backend Development >PHP Problem >How to use bubble sort in PHP?
The previous article introduced you to "What is error handling in PHP? Error code? Wrong trigger? 》, this article continues to introduce to you how to use bubble sorting in PHP? It has certain reference value. Friends in need can refer to it. I hope it will be helpful to everyone.
Array sorting algorithm.
Bubble sort
Bubble Sort (Bubble Sort) is an A relatively simple sorting algorithm in computer science.
It repeatedly visits the sequence to be sorted, compares two elements at a time, and swaps them if they are in the wrong order.
The work of visiting the array is repeated until no exchange is needed, which means that the array has been sorted.
The algorithm idea of bubble sorting:.
1) Compare adjacent elements. If the first one is bigger than the second one, swap them both. .
2) Do the same work for each pair of adjacent elements, from the first pair at the beginning to the last pair at the end. At this point, the last element should be the largest number.
3) Repeat the above steps for all elements except the last one. .
4) Continue to repeat the above steps for fewer and fewer elements each time until there are no pairs of numbers to compare.
First we define an array, and then we find a way to put the largest value on the far right. We use a for loop. Let’s take the code as an example, as follows:
<?php //数组排序算法:冒泡排序 $arr = array(1,4,2,9,7,5,8); //想办法将最大的值放到最右边去 for($j =0,$len = count($arr); $j < $len - 1;$j++){ //判断:两两相比 if($arr[$j] > $arr[$j+1]){ //左边比右边大:交换 $temp = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $temp; } } echo '<pre class="brush:php;toolbar:false">'; print_r($arr);
The running results are as follows :
So how do we make the above code run once at this time? We let the following code that can find the maximum value be executed repeatedly.
<?php //数组排序算法:冒泡排序 $arr = array(1,4,2,9,7,5,8); for($i=0,$len = count($arr);$i < $len;$i++){ //想办法将最大的值放到最右边去 for($j =0,$len = count($arr); $j < $len - 1;$j++){ //判断:两两相比 if($arr[$j] > $arr[$j+1]){ //左边比右边大:交换 $temp = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $temp; } } echo '<pre class="brush:php;toolbar:false">'; print_r($arr); }
The running results are as follows:
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to use bubble sort in PHP?. For more information, please follow other related articles on the PHP Chinese website!