我们一般会将需要排序的资料存放在阵列中,因此今天要介绍气泡排序演算法的目标就阵列资料的结构。
气泡排序法是一些排序法中较为简单容易的排序方法,因此他在效率上表现也较为普通。所谓的气泡排序法就是将相邻的两资料互相比较,比较後若发现後者比前者小,就将两着互换,以此类推直到全部排序完成。接下来看这个例子{34,27,56,22,85}来看这个阵列总共需要更换几次。
第一次比较,将34跟27做比较,发现27较小因此将27和34互换得到{27,34,56,22,85}
第二次比较,将34跟56做比较,发现34比较小因此无需做更改,得到{27,34,56,22,85}
第三次比较,将56跟22做比较,发现22较小因此将22和56互换得到{27,34,22,56,85}
第四次比较,将56跟85做比较,发现56比较小因此无需做更改,得到{27,34,22,56,85},此时已将85排好,他是最大的一个。
第五次比较,将27跟34做比较,发现27比较小因此无需做更改,得到{27,34,22,56,85}
第六次比较,将34跟22做比较,发现22较小因此将22和34互换得到{27,22,34,56,85}
第七次比较,将34跟56做比较,发现34比较小因此无需做更改,得到{27,22,34,56,85},此时56也完成排序
第八次比较,将27跟22做比较,发现22较小因此将22和27互换得到{22,27,34,56,85}
第九次比较,将27跟34做比较,发现27比较小因此无需做更改,得到{22,27,34,56,85},此时34也完成排序
第十次比较,将22跟27做比较,发现22比较小因此无需做更改,得到{22,27,34,56,85},最後将22与27比较完就是所有排序了。
我们会发现5笔资料排序时,总共会有4个回合,每个回合会排序完该回合的最大值,由上述例子得知,我们四个回合分别比较了10次(4+3+2+1)。由此我们可以知道N笔资料需要有(N-1)次,以此类推知道第二笔资料为(N-2)直到最後一笔为1,因此我们可以得知最多需要N(N-1)/2次比较。
Day22就到这啦BYE~
<<: Day.20 「初步认识 this,中央工厂式的自订物件~」 —— JavaSript 构造函式
>>: D28-(9/28)-大台北(9908)-稳定的民生必需品,瓦斯
接着我们要说说 C String!C string 是字元阵列,通常会使用 pointer 来做应用...
今天要结合前两天的成果,完成 LIFF APP 串接 发送认证码 API 的功能 目标 要完成的功能...
在写爬虫程序的时候,我们需要先理解一下目标网站的结构。 做自动化时,我们也须了解手动执行时的步骤。 ...
变数基本概念 常数:const 不可重新赋予新值 变数:let 可重新赋予新值 建立常数a并储存(或...
TemplateSendMessage - ImageCarouselTemplate image_...