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

首頁 > 編程 > Swift > 正文

Swift實(shí)現(xiàn)快速排序算法的代碼示例

2020-03-09 17:48:13
字體:
供稿:網(wǎng)友

思想

快速排序作為分治代表,通常實(shí)現(xiàn)由三步

1.數(shù)據(jù)中選擇一個(gè)元素作為”基準(zhǔn)”(pivot),通常選取最后一個(gè)元素;
2.分區(qū)(partition) 所有小于”基準(zhǔn)”的元素,都移到”基準(zhǔn)”的左邊;所有大于”基準(zhǔn)”的元素,都移到”基準(zhǔn)”的右邊。分區(qū)操作結(jié)束后,基準(zhǔn)元素所處的位置就是最終排序后它的位置。
3.對“基準(zhǔn)”左邊和右邊的兩個(gè)子集,不斷重復(fù)第一步和第二步,直到所有子集只剩下一個(gè)元素為止。

實(shí)現(xiàn):

func quickSort(inout a: [Int], l: Int, r: Int) { if l < r { var i = l,  j = r,  x = a[i] while i < j && a[j] >= x {  j -= 1 } if i < j {  a[i] = a[j]  i += 1 } while i < j && a[i] < x {  i += 1 } if i < j {  a[j] = a[i]  j -= 1 } a[i] = x quickSort( & a, l: l, r: i - 1) quickSort( & a, l: i + 1, r: r) }}var b = [8, 7, 6, 5, 4, 3, 2, 1]quickSort( & b, l: 0, r: 7)print(b) 
          


注:相關(guān)教程知識(shí)閱讀請移步到swift教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 91短视频版高清在线观看免费 | 久久久久久艹 | www.91操| 哪里可以看免费的av | 噜噜噜在线 | 日本在线不卡一区二区 | 日韩视频一区二区三区在线观看 | 激情午夜天 | 国产免费一区二区三区网站免费 | 91精品国产乱码久久久久久久久 | 精品国产一区三区 | 国产免费一区二区三区 | 国产成人小视频在线观看 | 97精品视频在线观看 | av手机在线免费播放 | 成人在线视频在线观看 | 狠狠干天天 | 久久17 | 中国女人内谢8xxxxxx在 | japan护士性xxxⅹhd | 国产一级一片免费播放 | 欧美电影在线观看 | 午夜国产福利 | 成人午夜在线免费视频 | 姑娘第四集免费看视频 | 精品三区视频 | 黄视频网站免费观看 | 中国女人内谢8xxxxxx在 | 中文字幕免费在线观看视频 | 一级全毛片 | xxxxhd18hd日本hd | av在线中文 | 国产精品a一 | 麻豆自拍偷拍视频 | 亚洲最大中文字幕 | 国产18成人免费视频 | 黄色av电影在线播放 | 亚洲一级片免费观看 | 国产午夜精品久久久久久免费视 | 精品久久久av | 中国大陆高清aⅴ毛片 |