Go 语言实现冒泡、选择、插入排序

这两天又重新看了看数据结构,重温了一下排序算法,于是先写了这三种经典的排序算法

//冒泡排序
func BubbleSort(array []int)  {
	l:=len(array)
	isChange:=true

	var i,j int
	for i=0; i<l-1 &&isChange; i++ {
		isChange=false
		for j=1; j<l; j++{
			if array[j]<array[j-1] {
				array[j],array[j-1] = array[j-1],array[j]
				isChange=true
			}
		}
	}
}
//选择排序
func SelectionSort(array []int) {
	l:=len(array)
	var min int

	var i,j int
	for i=0; i<l; i++ {
		min = i
		for j=i; j<l; j++ {
			if array[j]<array[min] {
				min = j
			}
		}
		if min != i{
			array[i],array[min] = array[min],array[i]
		}
	}
}
//插入排序
func InsertionSort(array []int) {
	l:=len(array)
	var i,j int
	for i=1; i<l; i++ {
		t:=array[i]
		for j=i; j>0; j-- {
			if t<array[j-1] {
				array[j] = array[j-1]
			}else {
				break
			}
		}
		array[j] = t
	}
}
posted @   博客是个啥?  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示