Bubble sort
For friends who are new to programming and algorithms, the sorting algorithm may not be clear. Next, we will Let’s analyze bubble sorting.
What is the principle of bubble sort?
Traverse an array, during this process, compare the values of two adjacent cells: if the former is larger than the latter, the two values are swapped. At the end of this process, the maximum value in the array must be placed at the last position.
If the above process is carried out again, it can be determined that the maximum value in the remaining data is placed at the second to last position.
Then continue the above process again, and you can continue to determine that the maximum value in the remaining data is placed at the third to last position.
And so on. . . . .
Illustration:
Original array |
18 | 22 | 12 |
15 | 23 | 9 |
First trip | 18 |
22 | 12 | 15 | 9 | 23 |
Second trip | 18 | 22 | 12 | 9 | 15 | 23 |
The third trip | 18 | 22 | 9 | 12 | 15 | 23 |
18 | 9 | 12 | 15 | 22 | 23 | |
9 | 12 | 15 | 18 | 22 | 23 |
$arr1 = array(18,22,12,15,23,9); $n = count($arr1); //控制要进行的躺数 for($i = 0;$i < $n-1;$i++){ //在每一趟里面,控制进行比较的次数 for($k = 0;$k < $n-1-$i;$k++){ if ($arr1[$k] > $arr1[$k+1]) { $temp = $arr1[$k]; $arr1[$k] = $arr1[$k+1]; $arr1[$k+1] = $temp; } } }
2. Compare the size of two adjacent data every time, and exchange their positions if necessary!
3. The number of comparisons for each trip is one less than the previous trip. The number of comparisons for the first trip is: $n-1
The above is the detailed content of Detailed analysis of bubble sort. For more information, please follow other related articles on the PHP Chinese website!