用golang写一个冒泡排序算法
时间: 2023-01-12 09:13:04 浏览: 137
好的,这是用 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 可以实现多种排序算法,例如冒泡排序、插入排序、选择排序、快速排序等等。以下是一个快速排序的示例代码:
```
package main
import "fmt"
func quickSort(arr []int, left, right int) {
if left >= right {
return
}
pivot := arr[left]
i, j := left, right
for i < j {
for i < j && arr[j] >= pivot {
j--
}
arr[i] = arr[j]
for i < j && arr[i] <= pivot {
i++
}
arr[j] = arr[i]
}
arr[i] = pivot
quickSort(arr, left, i-1)
quickSort(arr, i+1, right)
}
func main() {
arr := []int{5, 3, 8, 6, 4}
quickSort(arr, 0, len(arr)-1)
fmt.Println(arr)
}
```
这个示例代码实现了快速排序算法,可以对一个整数数组进行排序。
用golang写个冒泡排序
好的,下面是用 Golang 写的冒泡排序算法:
```
package main
import "fmt"
func bubbleSort(arr []int) {
for i := 0; i < len(arr)-1; i++ {
for j := 0; j < len(arr)-i-1; j++ {
if arr[j] > arr[j+1] {
arr[j], arr[j+1] = arr[j+1], arr[j]
}
}
}
}
func main() {
arr := []int{4, 2, 1, 6, 3, 5}
fmt.Println("Before sorting:", arr)
bubbleSort(arr)
fmt.Println("After sorting:", arr)
}
```
以上就是用 Golang 写的冒泡排序算法了,希望能对你有所帮助。
阅读全文