帮我写一个go的冒泡排序
时间: 2023-06-28 17:12:09 浏览: 34
当然可以,以下是一个简单的 Go 冒泡排序的实现:
```
package main
import (
"fmt"
)
func bubbleSort(arr []int) {
len := len(arr)
for i := 0; i < len-1; i++ {
for j := 0; j < len-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("Sorted array:", arr)
}
```
输出结果:
```
Sorted array: [11 12 22 25 34 64 90]
```
在上面的代码中,我们首先定义了一个 bubbleSort 函数,它接受一个 int 类型的 slice 参数 arr,并按照升序排序其元素。在 bubbleSort 函数中,我们使用两个 for 循环嵌套实现了冒泡排序算法。第一个 for 循环是用来控制排序的趟数,第二个 for 循环是用来比较相邻元素并交换它们的位置的。在每一趟排序中,我们都将最大的元素移到了 slice 的最后面,因此,第 i 次趟排序只需要比较前 len-i-1 个元素即可。最后,我们在 main 函数中初始化一个 int 类型的 slice arr,并调用 bubbleSort 函数对其进行排序。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)