用golang写一个冒泡排序
时间: 2023-12-15 09:52:37 浏览: 95
这是一个用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循环,内层循环比较相邻两个数,如果顺序不对就交换位置。外层循环控制比较的轮数。
相关问题
用golang写一个冒泡排序算法
好的,这是用 Go 语言实现的冒泡排序算法:
```
package main
import "fmt"
func main() {
// 定义待排序的数组
arr := []int{5, 2, 6, 3, 1, 4}
// 外层循环控制比较轮数
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]
}
}
}
// 输出排序后的数组
fmt.Println(arr)
}
```
冒泡排序是一种简单的排序算法,它通过重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。
这个算法的时间复杂度是 O(n^2),所以它并不适用于大型数据集。但是,它简单易懂,也很容易实现,所以在学习排序算法的时候经常会作为一个例子讲解。
请用golang写一个冒泡排序
当然可以,以下是golang实现的冒泡排序代码:
func bubbleSort(arr []int) []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]
}
}
}
return arr
}
使用方法:
arr := []int{64, 25, 12, 22, 11}
fmt.Println(bubbleSort(arr))
输出结果:
[11 12 22 25 64]
阅读全文