Golang实现冒泡排序算法(Bubble Sort)

本文将使用Go语言完成冒泡排序算法(Bubble Sort)的实现;

Golang冒泡排序(Bubble Sort)

package main

import(
	"fmt"
)
func bubbleSort(arr []int) []int {
	swapped := true
	for swapped {
		swapped = false
		for i := 0; i < len(arr)-1; i++ {
			if arr[i+1] < arr[i] {
				arr[i+1], arr[i] = arr[i], arr[i+1]
				swapped = true
			}
		}
	}
	return arr
}

func main(){
	lst := []int{-10,2,5,13,7,-1,21,1,3,2,0,-5,9,6,7}
	fmt.Printf("排序前:%v\n",lst)
	fmt.Printf("排序后:%v\n",bubbleSort(lst))
}

运行效果

排序前:[-10 2 5 13 7 -1 21 1 3 2 0 -5 9 6 7]
排序后:[-10 -5 -1 0 1 2 2 3 5 6 7 7 9 13 21]

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/golang-bubble-sort.html

分类: 计算机技术
推荐阅读:
Python实现二分法查找(binary search) 对于从小到大有序排列的元素组合,使用二分法查找(binary search)是一种效率较高的算法,其大致流程如下:
Linux定时执行命令 在Linux下,可以通过一条命令即可实现在指定时间运行某个命令:
如何删除一个已发布的crate 实际上,我们可以联系crates.io的技术支持团队,要求删除一些没有意义的crate,这些crate通常没人使用,不包含有意义的代码;
Updating crates.io index 出现错误解决方法 在向Rust项目添加依赖后尝试运行或编译,cargo管理工具会尝试更新crates.io index,当出现git配置错误可能会出现类似以下的错误:
一条Linux命令让你看起来很忙还很酷 在Linux系统下,如果你想让你的终端看起来很忙,或者想在某人面前装酷,那么你一定需要这条命令来实现:
PyQt6和PySide6对比 PyQt6和PySide6都是用于调用Qt6 API的Python库,使用它们可以轻松在Python语言中创建基于Qt的GUI程序;PyQt6和PySide6最大的不同表现在发行许可上;