气泡排序在Go Lang

冒泡排序是一种排序算法,它通过交换顺序错误的元素来工作。在多次遍历中,它检查相邻元素的顺序是否正确(递增)。

冒泡排序的时间复杂度为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