golang冒泡排序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | package main import "fmt" //1.内部排序 //将需要处理的所有数据都加载到内部存储器中进行排序(交换式排序法、选择式排序法和插入式排序法) //2.外部排序 //数据量过大,无法全部加载到内存中,需要借助外部存储进行排序(合并排序法和直接合并排序法) func main() { //冒泡排序 /* 将24 69 80 57 13以冒泡的方式排序 第一轮 经过第一次比较后24 69 80 57 13(24和69比较,24比69小,不交换) 经过第二次比较后24 69 80 57 13(69和80比较,69比80小,不交换) 经过第三次比较后24 69 57 80 13(80和57比较,80比57大,交换) 经过第四次比较后24 69 57 13 80(80和13比较,80比13大,交换) 第一轮比较完成,将最大的数放到了最后 第二轮 经过第一次比较后24 69 57 13 80(24和69比较,24比69小,不交换) 经过第二次比较后24 57 69 13 80(69和57比较,69比57大,交换) 经过第三次比较后24 57 13 69 80(69和13比较,69比13大,交换) 第二轮比较完成,将第二大的数放在倒数第二(在此不会发生第四次比较) 第三轮 经过第一次比较后24 57 13 69 80(24和57比较,24比57小,不交换) 经过第二次比较后24 13 57 69 80(57和13比较,57比13大,交换) 第三轮比较完成,将第三大的数放在倒数第三(同样没有进行第三次比较) 第四轮 经过第一次比较后13 24 57 69 80(24和13比较,24比13大,交换) 至此冒泡排序结束 一共会经过arr.lenth - 1次的轮数比较,每一轮会确定一个数的位置 每一轮的比较次数在逐渐减少 当发现前面的一个数比后面的一个数大的时候,就进行交换 */ var arr [5]int64 = [5]int64{24, 69, 80, 57, 13} fmt.Println( "排序前: " , arr) for i := 0; i < len(arr)-1; i++ { for j := 0; j < len(arr)-i-1; j++ { if arr[j] > arr[j+1] { temp := arr[j] arr[j] = arr[j+1] arr[j+1] = temp } } } fmt.Println(arr) } |
__EOF__

本文作者:StarGazer
本文链接:https://www.cnblogs.com/PatrickStarGazer/p/15950276.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/PatrickStarGazer/p/15950276.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现