• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

go语言算法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.冒泡排序算法

func bsort(a []int)  {
	for i:=0;i<=len(a);i++{
		for j:=1;j<len(a)-i;j++{
			if a[j] < a[j-1]{
				a[j],a[j-1] = a[j-1],a[j]
			}
		}
	}

}
func main()  {
    a :=[]int{1,9,5,7,3,8,23,0}

   bsort(a)
   fmt.Println(a)
}

2.选择排序算法

func ssort(n []int)  {
	for i:=0;i<len(n);i++{
		//记住下标
		var min int = i
		for j:=i+1;j<len(n);j++{
			if n[min]>n[j]{
				 min = j
			}
			n[i],n[min] = n[min],n[i]
		}
	}
}
func main()  {
    a :=[]int{1,9,5,7,3,8,23,0}

    ssort(a)
    fmt.Println(a)
}

3.插入排序算法

//插入排序
func isort(n []int)  {
	for i:=1;i<len(n);i++{
		for j:=i;j>0;j--{
			if n[j]>n[j-1]{
				break
			}else{
				n[j],n[j-1] = n[j-1],n[j]
			}
		}
	}
}

func main()  {
    a :=[]int{1,9,5,7,3,8,23,0}
    isort(a)
    fmt.Println(a)
}

4.快排算法

//快排
func qsort(a []int,left,right int)  {
	if left >=right{
		return
	}
	val :=a[left]
	k := left
	for i :=left+1;i<=right;i++{
		if a[i]<val{
			a[k] =a[i]
			a[i] =a[k+1]
			k++
		}
	}
	a[k] = val
	qsort(a,left,k-1)
	qsort(a,k+1,right)
}
func main()  {
	//定义一个列表,列表是值类型,可以通过切片转成引用类型
	b :=[...]int{8,7,5,4,10,2,9}
	qsort(b[:],0,len(b)-1)
	fmt.Println(b)
}

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
带你十天轻松搞定 Go 微服务系列(二)发布时间:2022-07-10
下一篇:
Go-Practice-interface and type发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap