算法原理:
- 将第一个数与第二个数进行比较,如果第一个数>第二个数,两数互换位置。
- 将第二个数与第三个数进行上述比较,以此类推,后续相邻的两个数依次进行比较。
- 末位两个数进行比较后,得到的数便是该数列最大的数。
- 重新上述比较,除去最后一个数。
Java代码:
package sort;public class BubbleSort {public int[] sort(int[] arr) {int length = arr.length;if (length <= 1) {return arr;}for (int i = 0; i < length - 1; i++) {for (int j = 0; j < length - i - 1; j++) {if (arr[j] > arr[j + 1]) {int tmp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = tmp;}}}return arr;}}
PHP代码:
<?phpclass BubbleSort {public function sort($arr = []) {$count = count($arr);if ($count <= 1) {return $arr;}for ($i = 0; $i < $count - 1; $i++) {for ($j = 0; $j < $count - $i - 1; $j++) {if ($arr[$j] > $arr[$j + 1]) {$tmp = $arr[$j];$arr[$j] = $arr[$j + 1];$arr[$j + 1] = $tmp;}}}return $arr;}}
