Go 语言中的冒泡排序
冒泡排序是一种通过交换顺序列中的元素来进行排序的算法。它会多次检查相邻元素是否处于正确的顺序(升序)。
冒泡排序的时间复杂度为 O(n^2),因为它需要两个嵌套循环来检查相邻元素。
例如,我们取以下未排序数组 -
22 15 11 45 13
冒泡排序算法首先遍历整个数组,然后在另一个循环中检查相邻元素是否处于正确顺序。
因此,排序后的元素将为,
11 13 15 22 45
算法
在两个嵌套循环中,将每个元素与其相邻元素进行比较。
如果该元素小于前一个元素,则交换该元素。
打印该数组。
示例
冒泡排序算法的实现
package main import "fmt" func BubbleSort(array[] int)[]int { for i:=0; i< len(array)-1; i++ { for j:=0; j < len(array)-i-1; j++ { if (array[j] > array[j+1]) { array[j], array[j+1] = array[j+1], array[j] } } } return array } func main() { array:= []int{11, 14, 3, 8, 18, 17, 43}; fmt.Println(BubbleSort(array)) }
输出
运行以上代码会对给定的未排序数组进行排序并打印输出,如下 &miuns;
3 8 11 14 18 17 43
广告