// 冒泡排序是所有排序算法中最简单、最易实现的算法,有时也称为起泡排序算法。
// 使用冒泡排序算法对 n 个数据进行排序,实现思路是:从待排序序列中找出一个最大值或最小值,
// 这样的操作执行 n-1 次,最终就可以得到一个有序序列。
// 冒泡排序算法的时间复杂度为O(n^2)
package main
import "fmt"
func bubbleSort(a []float64) {
for i := 0; i < len(a)-1; i++ {
for j := 0; j < len(a)-1-i; j++ {
if a[j] > a[j+1] {
a[j], a[j+1] = a[j+1], a[j]
}
}
}
}
func main() {
var var_len int
var bubble_var []float64
fmt.Printf("请输入需要排序的数组长度:")
fmt.Scan(&var_len)
fmt.Printf("您输入的数组长度是%v\n", var_len)
bubble_var = make([]float64, var_len)
for i := 0; i < var_len; i++ {
fmt.Printf("请输入数组第%v个值:", i)
fmt.Scan(&bubble_var[i])
}
fmt.Printf("您输入的数组是:%v\n", bubble_var)
bubbleSort(bubble_var)
fmt.Printf("冒泡排序后的数组顺序是:%v\n", bubble_var)
}