go 实现冒泡排序
时间: 2023-07-21 10:19:42 浏览: 47
下面是使用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{64, 25, 12, 22, 11}
fmt.Println("排序前:", arr)
bubbleSort(arr)
fmt.Println("排序后:", arr)
}
```
这个程序定义了一个`bubbleSort`函数,用于对传入的整数切片进行冒泡排序。外层循环用于控制排序的轮数,内层循环用于比较相邻两个元素的大小并交换它们的位置。在`main`函数中,我们定义了一个测试数据`arr`,并输出排序前和排序后的结果。运行这个程序,将输出以下结果:
```
排序前: [64 25 12 22 11]
排序后: [11 12 22 25 64]
```
这就是使用Go语言实现冒泡排序的方法。
相关问题
go语言实现冒泡排序
好的,下面是 Go 语言实现的冒泡排序算法:
```
package main
import "fmt"
func main() {
// 定义数组
arr := []int{5, 3, 8, 6, 4}
// 冒泡排序
for i := 0; i < len(arr); i++ {
for j := i + 1; j < len(arr); j++ {
if arr[i] > arr[j] {
arr[i], arr[j] = arr[j], arr[i]
}
}
}
// 输出排序后的数组
fmt.Println(arr) // 输出: [3 4 5 6 8]
}
```
冒泡排序的基本思路是:依次比较相邻的两个数,如果第一个比第二个大,就交换两个数的位置。通过多次这样的比较和交换,就可以将数组中的数按从小到大的顺序排序。
在上面的代码中,我们使用了两重循环来实现冒泡排序。第一重循环从 0 到 len(arr) - 1,第二重循环从 i + 1 到 len(arr) - 1。每次循环都会将相邻的两个数进行比较,如果第一个比第二个大,就交换两个数的位置。最终,整个数组就会按从小到大的顺序排好序。
使用golang实现冒泡排序算法
好的,下面是使用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}
bubbleSort(arr)
fmt.Println("排序后的数组:", arr)
}
```
这个程序定义了一个 `bubbleSort` 函数来执行冒泡排序算法,然后在 `main` 函数中使用它来对一个数组进行排序。