用 go写一个冒泡排序
时间: 2024-05-05 14:16:58 浏览: 7
以下是使用 Go 编写的冒泡排序算法:
```go
package main
import "fmt"
func bubbleSort(arr []int) {
n := len(arr)
for i := 0; i < n-1; i++ {
for j := 0; j < n-i-1; j++ {
if arr[j] > arr[j+1] {
// 交换 arr[j] 和 arr[j+1]
arr[j], arr[j+1] = arr[j+1], arr[j]
}
}
}
}
func main() {
arr := []int{64, 25, 12, 22, 11}
bubbleSort(arr)
fmt.Println("排序后的数组为:", arr)
}
```
输出结果为:
```
排序后的数组为: [11 12 22 25 64]
```
相关问题
用golang写一个冒泡排序
这是一个用Go语言实现的冒泡排序的代码:
```
package main
import "fmt"
func bubbleSort(arr []int) {
n := len(arr)
for i := 0; i < n-1; i++ {
for j := 0; j < n-i-1; j++ {
if arr[j] > arr[j+1] {
arr[j], arr[j+1] = arr[j+1], arr[j]
}
}
}
}
func main() {
arr := []int{64, 34, 25, 12, 22, 11, 90}
fmt.Println("排序前: ", arr)
bubbleSort(arr)
fmt.Println("排序后: ", arr)
}
```
该代码实现了从小到大的冒泡排序,使用了两层for循环,内层循环比较相邻两个数,如果顺序不对就交换位置。外层循环控制比较的轮数。
用go语言写一个冒泡排序
好的,我来为你编写一个冒泡排序的程序。
首先,冒泡排序是一种简单的排序算法,它重复地走过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。这个过程继续进行直到没有再需要交换,也就是说该数列已经排序完成。
下面是用 Go 语言实现冒泡排序的代码:
```
package main
import "fmt"
func bubbleSort(arr []int) {
n := len(arr)
for i := 0; i < n-1; i++ {
for j := 0; j < n-i-1; j++ {
if arr[j] > arr[j+1] {
arr[j], arr[j+1] = arr[j+1], arr[j]
}
}
}
}
func main() {
arr := []int{5, 2, 4, 6, 1, 3}
bubbleSort(arr)
fmt.Println(arr) // 输出:[1 2 3 4 5 6]
}
```
上面的代码实现了冒泡排序的主要逻辑。首先,我们定义了一个名为 `bubbleSort` 的函数,它接收一个整型数组作为参数。在函数内部,我们使用两个循环来遍历数组中的每个元素。在内层循环中,我们比较相邻的两个元素,如果它们的顺序错误就交换它们的值。
在函数的最后,我们在 `main` 函数中调用了 `bubbleSort` 函数,并将一个数组作为参