- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
氣泡排序法
氣泡排序法 氣泡排序法 氣泡排序法又稱為交換排序法,是由觀察水中氣泡變化構思而成,氣泡隨著水深壓力而改變。 氣泡排序法的比較方式是由第一個元素開始,比較相鄰元素大小,若大小順序有誤,則對調後再進行下一個元素的比較。 如此掃瞄過一次之後就可確保最後一個元素是位於正確的順序。 接著再逐步進行第二次掃瞄,直到完成所有元素的排序關係為止。 氣泡排序法演算流程 由小到大排序: 第一次掃瞄會先拿第一個元素6和第二個元素4作比較,如果第二個元素小於第一個元素,則作交換的動作。 接著拿6和9作比較,就這樣一直比較並交換,到第4次比較完後即可確定最大值在陣列的最後面。 第二次掃瞄亦從頭比較起,但因最後一個元素在第一次掃瞄就已確定是陣列最大值,故只需比較3次即可把剩餘陣列元素的最大值排到剩餘陣列的最後面。 第三次掃瞄完,完成三個值的排序 第四次掃瞄完,即可完成所有排序 由此可知5個元素的氣泡排序法必須執行5-1次掃瞄,第一次掃瞄需比較5-1次,共比較4+3+2+1=10次 核心程式碼 原理:兩兩互相比較 選擇排序法 選擇排序法可使用兩種方式排序,一為在所有的資料中,當由大至小排序,則將最大值放入第一位置;若由小至大排序時,則將最大值放入位置末端。 例如當N筆資料需要由大至小排序時,首先以第一個位置的資料,依次向2、3、4 …N個位置的資料作比較。 如果資料大於或等於其中一個位置,則兩個位置的資料不變;若小於其中一個位置,則兩個位置的資料互換。 排序法的演算流程 接著從第二個值找起,找到此數列中(不包含第一個)的最小值,再和第二個值交換。 接著從第三個值找起,找到此數列中(不包含第一、二個)的最小值,再和第三個值交換。 最後從第四個值找起,找到此數列中(不包含第一、二、三個)的最小值,再和第四個值交換,則此排序完成。 * * for(i=0;imax-1;i++) //外迴圈數 for(j=i;jmax;j++) //內迴圈數,兩兩比較 if(arr[i]arr[j]) //由小至大排,交換判斷 { temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } 首先找到此數列中最小值後與第一個元素交換。 * * *
您可能关注的文档
- 99碩士入學程式會考考題.doc
- 第3章线性时不变(lti)连续系统的时域分析.ppt
- 组合最值问题湖南省长沙市….doc
- 最大公约数与最小公倍数.doc-博师堂教育.doc
- 多項函數.doc
- 第四章中值定理,导数的应用.doc
- 一上數學2-2講義.doc(269kb).doc
- 电路中极值问题.doc
- 第四章分支结构-c语言程序设计.doc
- 初中数学竞赛辅导专题.doc.doc
- 2025年中国铸管沥青漆喷涂机市场调查研究报告.docx
- 2025至2031年中国聚四氟乙割管料行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国屏蔽箱行业投资前景及策略咨询研究报告.docx
- 2025年中国B级电源电涌保护器市场调查研究报告.docx
- 2025至2031年中国陶瓷印章行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国保冷材料行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国金彩立雕玻璃行业投资前景及策略咨询研究报告.docx
- 2025至2030年中国机箱螺母柱数据监测研究报告.docx
- 2025至2030年中国小GS管装饰头数据监测研究报告.docx
- 2025至2030年中国气动电阻焊机数据监测研究报告.docx
文档评论(0)