【Golang 数据结构与法算】sort 冒泡排序算法
2021/12/18 20:50:22
本文主要是介绍【Golang 数据结构与法算】sort 冒泡排序算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- github 完整代码
// Package sort 冒泡排序算法 package sort import "data-structures-and-algorithms/types" // BubbleSort 冒泡排序 func BubbleSort(data types.Interface) { BubbleSortRange(data, 0, data.Size()) } // BubbleSortRange 对[lo, hi)区间执行冒泡排序 func BubbleSortRange(data types.Interface, lo, hi int) { for ; lo < hi && !bubble(data, lo, hi); hi-- { } } // 对 [lo, hi) 进行一趟扫描交换:每趟扫描交换后均有一最大元素已就位。在业已有序时给出提示,便于上层调用者终止循环 func bubble(data types.Interface, lo, hi int) bool { sorted := true for i := lo + 1; i < hi; i++ { if data.Less(i, i-1) { sorted = false data.Swap(i, i-1) } } return sorted }
这篇关于【Golang 数据结构与法算】sort 冒泡排序算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-26通过 gcloud CLI 认证从本地脚本写入 Google Sheets
- 2024-09-24GoLand 新建项目 Enable vendoring support automatically 的作用是什么?-icode9专业技术文章分享
- 2024-09-21MongoDB资料:新手入门与初级应用指南
- 2024-09-20MongoDB教程:初学者必备指南
- 2024-09-05MongoDB入门:快速掌握NoSQL数据库基础
- 2024-08-28go 项目中怎么打印调试-icode9专业技术文章分享
- 2024-08-21swoole未来的发展前景与golang对比哪个更好-icode9专业技术文章分享
- 2024-08-16goland 已经下了中文插件了, 怎么设置成中文-icode9专业技术文章分享
- 2024-07-26使用 SendGrid 的 Go 客户端库能同时给多个邮箱发吗-icode9专业技术文章分享
- 2024-07-26使用 SendGrid 的 Go 客户端库时怎么设置header 和 标签tag 呢-icode9专业技术文章分享