为了更好地理解这个示例,我们始终建议您学习下面列出的 Golang 编程 的基础主题
在这里,我们将解释如何编写一个 Go 程序来对任何数据结构中的元素列表进行排序。有不同类型的排序算法。在本例中,我们使用冒泡排序来对数组元素进行排序。
冒泡排序是最简单和常见的排序方法之一。假设我们有一个无序列表,并且想要对这些元素进行排序,那么冒泡算法会比较每对相邻元素,如果它们不是按顺序排列的,则交换这些元素。所以我们可以说它是一种基于比较的算法。它会通过多次遍历检查相邻元素是否按正确顺序(递增)排列。当我们实现冒泡排序算法时,我们可以知道需要进行多少次交换,这等于列表长度减去 1。请注意,冒泡排序的平均和最坏情况复杂度为 **Ο(n2)**,其中 n 是项目数。因此,它不适用于大型数据集。
在这里,我们将解释如何在 Go 程序中执行冒泡排序。我们可以使用内置函数 `fmt.println()` 来打印任何内容,使用 `fmt.scanln()` 来读取值。此函数定义在 fmt 包下,有助于写入标准输出。为了使用这些函数,我们需要导入“**fmt**”包。
这里变量 **A** 存储数组元素。另一个变量 **n** 用作数组的大小。使用 for 循环读取数组元素。通过使用两个嵌套的“**for 循环**”将每个元素与其相邻元素进行比较,如果该元素小于前一个元素,则交换元素。最后,我们得到一个已排序的数组结果。使用 for 循环打印已排序的数组。
步骤 1:导入包 **fmt**
步骤 2:打开 **main()** 函数以启动程序,GO 程序执行从 **main()** 开始
步骤 3:声明变量 **n** 和 **temp**。
步骤 4:读取数组大小为 **n**
步骤 5:定义数组 **A[]**
步骤 6:使用“**for 循环**”读取 **A[]** 数组元素。
步骤 7:打开嵌套的“**for 循环**”以将每个元素与其相邻元素进行比较
步骤 8:使用 **if 条件**检查,比较元素是否大于被比较元素,否则转到步骤 10
步骤 9:如果是,使用临时变量 **temp** 交换元素。
步骤 10:使用“for 循环”和 fmt.Println 打印已排序的数组
步骤 11:退出
package main
import "fmt"
func main() {
fmt.Println("Enter the size of the array")
var n int
var temp int
fmt.Scan(&n)
A := make([]int, n, 100)
fmt.Println("Enter elements : ")
for i := 0; i < n; i++ {
fmt.Scan(&A[i])
}
for i := 0; i < n; i++ {
for j := 0; j <(n-i-1); j++ {
if A[j] > A[j + 1]{
temp = A[j];
A[j] = A[j + 1];
A[j + 1] = temp;
}
}
}
fmt.Println("Sorted array : ")
for i := 0; i < n; i++ {
fmt. Println (A[i])
}
}
Enter the size of the array 4 Enter elements : 8 3 5 1 Sorted array : 1 3 5 8