当前位置: 首页 > 编程笔记 >

编写Golang程序以使用冒泡排序对数组进行排序

范建华
2023-03-14
本文向大家介绍编写Golang程序以使用冒泡排序对数组进行排序,包括了编写Golang程序以使用冒泡排序对数组进行排序的使用技巧和注意事项,需要的朋友参考一下

定义:冒泡排序是最简单的排序算法,通过以错误顺序重复交换相邻元素来工作。

例子

输入arr = [7、5、1、6、3]

  • 一次迭代=> swap(7,5)=> swap(7,1)=> swap(7,6)=> swap(7,3)=> [5,1,6,3,7]

  • 第2次迭代=> [ 1、5、3、6、7 ]

  • 第3迭代=> [ 1、3、5、6、7 ]

  • 4迭代=> [1、3、5、6、7]

  • 5迭代=> [1、3、5、6、7]

解决这个问题的方法

步骤1:将数组从0索引迭代到n-1

步骤2:将数组从第0索引迭代到n-1-i,其中i是上述循环的索引。

步骤3:交换最高元素在数组的起始位置,否则离开。

步骤3:最后,返回数组。

时间复杂度: O(n 2

程序

package main
import "fmt"
func bubbleSort(arr []int) []int{

   for i:=0; i<=len(arr)-1; i++{
      for j:=0; j<len(arr)-1-i; j++{
         if arr[j]> arr[j+1]{
            arr[j], arr[j+1] = arr[j+1], arr[j]
         }
      }
   }
   return arr
}
输出结果
[0 1 2 5 6]
[2 3 4 5 6]
[1 2 3 4 5]

 类似资料:
  • 本文向大家介绍编写Golang程序以检查给定数组是否已排序(使用冒泡排序技术),包括了编写Golang程序以检查给定数组是否已排序(使用冒泡排序技术)的使用技巧和注意事项,需要的朋友参考一下 例子 输入arr = [7、15、21、26、33] =>数组已排序。 输入arr = [7,5,1,6,3] =>数组未排序。 解决这个问题的方法 步骤1:将数组从第0个索引迭代到n-1。 步骤2:将数组从

  • 本文向大家介绍编写Golang程序以线性时间对二进制数组进行排序,包括了编写Golang程序以线性时间对二进制数组进行排序的使用技巧和注意事项,需要的朋友参考一下 有两种方法可以解决此问题。让我们检查第一种方法。 方法1 例子 输入数组= [1,0,1,0,1,0,0,1] => [0,0,0,0,1,1,1,1] 解决这个问题的方法 步骤1: 定义一个接受数组的方法。 步骤2: 计数0。 步骤3

  • 冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 作为最简单的排序算法之一,冒泡排序给我的感觉就像 Abandon 在单词书里出现的感觉一样,每次都在第一页第一位

  • 1. 前言 本节内容是排序算法系列之一:冒泡排序,主要讲解了冒泡排序的主体思路,选取了一个待排序的数字列表对冒泡排序算法进行了演示,给出了冒泡排序算法的 Java 代码实现,帮助大家可以更好地理解冒泡排序算法。 2. 什么是冒泡排序? 冒泡排序(Bubble Sort),是计算机科学与技术领域中较为简单的一种排序算法。 它重复地遍历要排序的序列,会依次比较两个相邻的元素,如果发现两个相邻的元素顺序

  • 本文向大家介绍请写出冒泡排序。相关面试题,主要包含被问及请写出冒泡排序。时的应答技巧和注意事项,需要的朋友参考一下  

  • 我正在尝试使用冒泡排序对数组进行排序,但它行不通。上面写着“required:variable,found: