/** * 冒泡排序(JavaScript版) * * @param array arr 要排序的数组 * @return array 排序后的数组 */ function bubbleSort(arr) { var length = arr.length; var temp = null; for (var i = 0; i < length - 1; i++) { for (var j = 0; j < length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } return arr; } var arr = [8, 2, 0, 4, 9, 7, 3, 1, 5, 6]; console.log(bubbleSort(arr)); // 输出结果:(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
<?php /** * 冒泡排序(PHP版) * * @param array $arr 要排序的数组 * @return array 排序后的数组 */ function bubble_sort(array $arr) { $length = count($arr); for ($i = 0; $i < $length - 1; $i++) { for ($j = 0; $j < $length - 1 - $i; $j++) { if ($arr[$j] > $arr[$j + 1]) { list($arr[$j], $arr[$j + 1]) = [$arr[$j + 1], $arr[$j]]; } } } return $arr; } $arr = [8, 2, 0, 4, 9, 7, 3, 1, 5, 6]; echo print_r(bubble_sort($arr), true);
package main import "fmt" // BubbleSort 冒泡排序(Go版) func BubbleSort(nums []int) { length := len(nums) for i := 0; i < length-1; i++ { exchanged := false for j := 0; j < length-1-i; j++ { if nums[j] > nums[j+1] { nums[j], nums[j+1] = nums[j+1], nums[j] // 交换 exchanged = true } } // 一轮内循环之后如果都没有发生交换,说明已排好序,不需要再执行循环操作了 if !exchanged { break } } } func main() { nums := []int{8, 2, 0, 4, 9, 7, 3, 1, 5, 6} BubbleSort(nums) fmt.Println(nums) // [0 1 2 3 4 5 6 7 8 9] }
Copyright © 2024 码农人生. All Rights Reserved