冒泡排序的原理:对于一个数组里所有的元素进行两两比较,发生大于则变换数组下标则为升序排序,发生小于则变换数据下标的则为降序排序

比如给定的数组为[1, -2, 3, -4],对于我们的需求,两两比较后则发生下标变换则为升序,第一次比较后,最大值3将被移动到数组为最右边,整个数组的比较次数和发生变换的次数都有规律可循

几次比较之后,整个数组将被变换为一个升序的数组

代码实现如下

package mainimport ("math/rand""time""fmt"
)func main()  {rand.Seed(time.Now().UnixNano())var a [10]intn := len(a)fmt.Println("from ...")for i := 0; i < n; i++ {a[i] = rand.Intn(100)fmt.Printf("%d, ", a[i])}fmt.Println("\n")for i := 0; i < n-1; i++ {for j := 0; j <n -1 -i; j++ {if a[j] > a[j+1] {a[j], a[j+1] = a[j+1], a[j]}}}fmt.Println("order to....")for i := 0; i < n; i++ {fmt.Printf("%d, ", a[i])}
}

代码执行结果如下

from ...
47, 28, 82, 47, 2, 15, 40, 15, 13, 88, order to....
2, 13, 15, 15, 28, 40, 47, 47, 82, 88, 

转载于:https://www.cnblogs.com/baylorqu/p/9537647.html

[GO]冒泡排序的原理和代码实现相关推荐

  1. c语言滚动字幕的原理编程,c#中通过Graphics.DrawString实现滚动字幕的原理和代码实例...

    c#中通过Graphics.DrawString实现滚动字幕的原理和代码实例 在c#中其实滚动屏幕的实现很简单,只需要用到Graphics.DrawString方法. Graphics.DrawStr ...

  2. python 实现冒泡排序的思路和代码

    当需求提到需要从小到大的排序时,我们很自然的就会想起最基础的"冒泡排序" 冒泡排序的原理就不再多说了,网上有一大堆,以下是python实现冒泡排序的代码. 对于冒泡排序算法,如果有 ...

  3. 在PyTorch中进行双线性采样:原理和代码详解

    ↑ 点击蓝字 关注视学算法 作者丨土豆@知乎 来源丨https://zhuanlan.zhihu.com/p/257958558 编辑丨极市平台 在pytorch中的双线性采样(Bilinear Sa ...

  4. 【资源】Faster R-CNN原理及代码讲解电子书

    <Faster R-CNN原理及代码讲解>是首发于GiantPandaCV公众号的教程,针对陈云大佬实现的Faster R-CNN代码讲解,Github链接如下: https://gith ...

  5. 视觉SLAM开源算法ORB-SLAM3 原理与代码解析

    来源:深蓝学院,文稿整理者:何常鑫,审核&修改:刘国庆 本文总结于上交感知与导航研究所科研助理--刘国庆关于[视觉SLAM开源算法ORB-SLAM3 原理与代码解析]的公开课. ORB-SLA ...

  6. multinormalNB多项式朴素贝叶斯原理及代码

    https://blog.csdn.net/u011239443/article/details/76176743 multinormalNB多项式朴素贝叶斯原理及代码 https://www.cnb ...

  7. DeepLearning tutorial(1)Softmax回归原理简介+代码详解

    FROM: http://blog.csdn.net/u012162613/article/details/43157801 DeepLearning tutorial(1)Softmax回归原理简介 ...

  8. DeepLearning tutorial(3)MLP多层感知机原理简介+代码详解

    FROM:http://blog.csdn.net/u012162613/article/details/43221829 @author:wepon @blog:http://blog.csdn.n ...

  9. DeepLearning tutorial(4)CNN卷积神经网络原理简介+代码详解

    FROM: http://blog.csdn.net/u012162613/article/details/43225445 DeepLearning tutorial(4)CNN卷积神经网络原理简介 ...

  10. PHP网站安装程序的原理及代码

    原文:PHP网站安装程序的原理及代码 原理: 其实PHP程序的安装原理无非就是将数据库结构和内容导入到相应的数据库中,从这个过程中重新配置连接数据库的参数和文件,为了保证不被别人恶意使用安装文件,当安 ...

最新文章

  1. camera中LENS和SENSOR的CRA是如何搭配的?
  2. 4G网络在物联网应用中的重要性
  3. 电脑CPU选购的几个指标
  4. java switch小程序,微信小程序 switch组件详解及简单实例
  5. QuickLook 空格键预览文件工具
  6. ArcGIS 导出点图层的中的XY坐标
  7. ubuntu更新源 apt-get install Unable to locate package
  8. Luence简单实现2
  9. JDK动态代理的使用,以及可以解决哪些问题和优点,什么是动态代理
  10. 不能说服别人接受,只能是个烂设计
  11. javascript高级程序设计读书笔记——事件总结
  12. linux免费私人云盘软件,Appnode+kodexplorer免费搭建私有云盘
  13. 数字图像处理期末复习总结
  14. Linux图形终端与字符终端
  15. 什么是模式识别,模式识别概念的基本介绍
  16. Windows10蓝屏提示错误操作Wdwifi.sys
  17. 妈妈再也不用担心我的博客访问量了(一个可以刷博客访问量的小程序java)
  18. rabbitMq入门
  19. 已会背诵英文文章 How To Boost Your Confidence
  20. 这玩意儿叫H5编辑器??不应该叫H5全能王吗?

热门文章

  1. configure: error: readline library not found/libreadline.so: undefined reference to tputs
  2. 编译x264出现错误:No working C compiler found.
  3. WINDOWS NPAPI插件小结
  4. 泰山游记:所为非风光,为历史尔
  5. 从最理想的情况论证自己的观点,必然错误,为什么明知故犯?
  6. 解决办法:对‘operator delete(void*)’未定义的引用
  7. gstreamer中查看有哪些元素以及元素的属性(参数)
  8. ubuntu修改登陆用户名称_MySQL对于相同名称用户但host不同的登陆选择
  9. C# ToString()格式笔记
  10. activiti 启动tomcat乱码_使用 IntelliJ IDEA 创建 Web 工程以及启动 Tomcat 乱码问题处理...