麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Ruby > 正文

簡要介紹冒泡排序算法及Ruby版的簡單實現(xiàn)

2020-02-24 15:36:17
字體:
供稿:網(wǎng)友

冒泡排序算法是最基本的算法,其核心是通過比較同一類型的兩個相鄰數(shù)據(jù)來交換數(shù)據(jù),這里武林技術(shù)頻道小編將簡要介紹冒泡排序算法及Ruby版的簡單實現(xiàn),一起進入下文了解一下吧!

算法原理:

比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
對每一對相鄰元素作同樣的工作,從開始第一對到結(jié)尾的最后一對。在這一點,最后的元素應(yīng)該會是最大的數(shù)。
針對所有的元素重復以上的步驟,除了最后一個。
持續(xù)每次對越來越少的元素重復上面的步驟,直到?jīng)]有任何一對數(shù)字需要比較。

實現(xiàn)
假設(shè)有這樣一個數(shù)組: [4, 1, 3, 2]
冒泡排序為從第一個數(shù)開始,吧這個數(shù)與后面的數(shù)比較,如果這個數(shù)比后面的大,就交換他們的位置。
比如,第一次比較4和1,發(fā)現(xiàn)4比1大,交換 -> [1, 4, 3, 2]
第二次比較4和3,發(fā)現(xiàn)還是4大,交換 -> [1, 3, 4, 2]
第三次比較4和2,仍然4比2大,交換 -> [1, 3, 2, 4]
這樣在進行了第一輪循環(huán)之后,最大的數(shù)4就被頂?shù)綌?shù)組的最后去了,就像泡泡一樣從水底冒起來一樣。那么,要完成整個數(shù)組的排序,只需要把最大的數(shù)頂?shù)阶詈螅缓蟮诙喸侔训诙蟮臄?shù)頂?shù)降箶?shù)第二的位置,再來第三輪。。。。一直循環(huán)下去。

回到剛才的數(shù)組,第二輪比較開始,現(xiàn)在的狀態(tài)是[1, 3, 2, 4]
比較1和3,1小于3,跳過 -> [1, 3, 2, 4]
比較3和2,3大于2,交換 -> [1, 2, 3, 4]
這一輪到這里就可以停止了,因為第一輪已經(jīng)把最大的4頂?shù)搅俗詈螅缘诙喼灰_保第二大的數(shù)頂?shù)降箶?shù)第二就行。

然后繼續(xù)第三輪(雖然目前看起來已經(jīng)排序完成了)
比較1和2,不用交換[1, 2, 3, 4]
這里比較就全部完成。原理非常簡單。

ruby.html="" tags="">ruby;">def bubble_sort(list) list.each_index do |index|  (list.length - index - 1).times do |e|   if list[e] > list[e + 1]    list[e], list[e + 1] = list[e + 1], list[e]   end  end endend以上就是關(guān)于簡要介紹冒泡排序算法及Ruby版的簡單實現(xiàn),后續(xù)的知識武林技術(shù)頻道會繼續(xù)和大家分享,這是一個漫長的學習和積累的過程,希望大家能不斷的進步。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 国产成人在线一区 | 一级性生活免费视频 | 天天夜夜草 | 精品伊人 | 一级黄色影院 | 精品国产一区二区三区四区阿崩 | 国产精品久久久久久久娇妻 | 亚洲欧美日韩一区二区三区在线观看 | 国产精品亚洲精品日韩已方 | 国产一级在线观看视频 | 小雪奶水翁胀公吸小说最新章节 | 久久久成人免费视频 | 亚洲精品一区二区三区在线看 | 婷婷中文字幕一区二区三区 | 成人三级视频网站 | 欧美性受xxxx人人本视频 | 日韩99| 综合在线一区 | 免费久久久久 | 久久99综合久久爱伊人 | 少妇淫片免费一级毛片 | 欧美精品亚洲人成在线观看 | 国产精品视频yy9299一区 | 在线a毛片免费视频观看 | 国产一级在线免费观看 | 欧美一级视频网站 | 91久久夜色精品国产网站 | 久久久www视频 | 叉逼视频 | 高清一区二区在线观看 | 国产精品99久久久久久久女警 | 成人午夜精品 | 日韩黄站 | 久久国产一二三 | 亚洲国产精品久久久久制服红楼梦 | 成人黄色小视频网站 | 国产精品久久久久久久久久东京 | 真人一级毛片免费 | 亚洲成人精品国产 | 美国一级黄色毛片 | 色网站免费观看 |