選擇排序算法--Python語言描述

選擇排序是一種靈巧的算法坎匿, 實現(xiàn)并不復雜, 原理也很容易理解盐欺, 但不足的是其排序速度并不是很快蜜唾, 排序的總時間為:O(n*n)

Python語言實現(xiàn):

# 選擇出該數(shù)組的最小值, 并返回最小值的索引

def find_smallest(array):
    smallest = array[0]
    index = 0
    for i in range(1, len(array)):
        if smallest > array[i]:
            smallest = array[i]
            index = i
    return index

def selection_sort(array):
    sorted_array = []
    # n = len(array)
    # for i in range(n):
    for i in range(len(array)): # len(array)的值循環(huán)一次減1, 總覺得這樣不合適, 用上面兩行較好理解
        print(array)
        smallest_index = find_smallest(array) # smallest_index用來記錄第一次遍歷后找到的最小值索引
        sorted_array.append(array[smallest_index]) # 將本次查找到的最小值記錄到一個新的列表sorted_array中
        array.pop(smallest_index) # 彈出本次找到的最小值诈火,然后進行下一次查找
    return sorted_array

data = [7, 5, 0, 9, 1, 6, 5, 8]
print(selection_sort(data))

排序結(jié)果
輸入:

data = [7, 5, 0, 9, 1, 6, 5, 8]
print(selection_sort(data))

輸出:

[7, 5, 0, 9, 1, 6, 5, 8]
[7, 5, 9, 1, 6, 5, 8]
[7, 5, 9, 6, 5, 8]
[7, 9, 6, 5, 8]
[7, 9, 6, 8]
[7, 9, 8]
[9, 8]
[9]
[0, 1, 5, 5, 6, 7, 8, 9]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末兽赁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌刀崖,老刑警劉巖惊科,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蒲跨,居然都是意外死亡译断,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門或悲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來孙咪,“玉大人,你說我怎么就攤上這事巡语◆岬福” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵男公,是天一觀的道長荤堪。 經(jīng)常有香客問我,道長枢赔,這世上最難降的妖魔是什么澄阳? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮踏拜,結(jié)果婚禮上碎赢,老公的妹妹穿的比我還像新娘。我一直安慰自己速梗,他們只是感情好肮塞,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著姻锁,像睡著了一般枕赵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上位隶,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天拷窜,我揣著相機與錄音,去河邊找鬼涧黄。 笑死篮昧,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的弓熏。 我是一名探鬼主播恋谭,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼糠睡,長吁一口氣:“原來是場噩夢啊……” “哼挽鞠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤信认,失蹤者是張志新(化名)和其女友劉穎材义,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嫁赏,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡其掂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了潦蝇。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片款熬。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖攘乒,靈堂內(nèi)的尸體忽然破棺而出贤牛,到底是詐尸還是另有隱情,我是刑警寧澤则酝,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布殉簸,位于F島的核電站,受9級特大地震影響沽讹,放射性物質(zhì)發(fā)生泄漏般卑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一爽雄、第九天 我趴在偏房一處隱蔽的房頂上張望蝠检。 院中可真熱鬧,春花似錦盲链、人聲如沸蝇率。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽本慕。三九已至,卻和暖如春侧漓,著一層夾襖步出監(jiān)牢的瞬間锅尘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工布蔗, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留藤违,地道東北人。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓纵揍,卻偏偏與公主長得像蟋滴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子恩掷,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351