Loading [MathJax]/extensions/TeX/mediawiki-texvc.js
随笔 - 40,  文章 - 25,  评论 - 3,  阅读 - 91531

参考:https://mp.weixin.qq.com/s?__biz=MzUyNjQxNjYyMg==&mid=2247483905&idx=1&sn=79512c5e81bc2e8e3095c6ff592e8ed2&scene=19#wechat_redirect

 

  • 冒泡排序(C语言版):时间复杂度=O(n),空间复杂度=O(1)

  算法步骤:

  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。

  2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。

  3. 针对所有的元素重复以上的步骤,除了最后一个。

  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

  算法演示:

     

  代码:

  

复制代码
1 void BubbleSort(int *A,int length){
2     for (int i = 0; i < length; ++i) {
3         for (int j = 0; j < i; ++j) {
4             if (A[i] < A[j])
5                 swap(A+i,A+j);
6         }
7     }
8 //    Print(A,length);
9 }
View Code
复制代码

 

posted on   kingofloong  阅读(478)  评论(0编辑  收藏  举报
编辑推荐:
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· ASP.NET Core - 日志记录系统(二)
· .NET 依赖注入中的 Captive Dependency
· .NET Core 对象分配(Alloc)底层原理浅谈
阅读排行:
· 开箱你的 AI 语音女友「GitHub 热点速览」
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(二):用.NET IoT库
· 几个自学项目的通病,别因为它们浪费了时间!
· C#钩子(Hook) 捕获键盘鼠标所有事件 - 5分钟没有操作,自动关闭 Form 窗体
· 特斯拉CEO埃隆.马斯克的五步工作法,怎么提高工程效率加速产品开发?
< 2025年1月 >
29 30 31 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 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示