在選擇排序過程中飒箭,數(shù)組仍然被分作有序和無序兩部分衫樊。而選擇排序中的“選擇”是指不斷從無序序列中選擇最小的值放入到有序序列的最后的位置槐脏,換句話說就是從現(xiàn)有的無序序列中找出那個最小的值,然后與無序序列的第一個值進行交換庭呜,然后縮小無序序列的范圍即可譬嚣。因為有序序列的最后一個值與無序序列的第一個值緊挨著钢颂,交換后,這個無序序列中的第一個值就成了有序序列的最后一個值拜银。重復這個選擇的過程殊鞭,我們的數(shù)組就會變得有序遭垛。下方將會給出詳細的示意圖以及相應的代碼實現(xiàn)。
**1.選擇排序示意圖 **
下方就是簡單選擇排序的部分步驟操灿,只需要重復下方的步驟就可以通過選擇排序將我們的數(shù)組變成有序的序列锯仪。下方是對下方步驟的詳細介紹:
初識狀態(tài)下,我們整個數(shù)組就是無序的趾盐,從整個數(shù)組中我們找到了最小的元素35卵酪,其下標為5。然后將35與無序序列第一個元素62進行交換谤碳。交換后,有序序列中就有了一個值:35溢豆,而無序序列中就少了一個值:35蜒简。無序序列中的第一個值也就是變成了88。
再次從無序序列中選擇那個最小的值漩仙。于是乎我們又找到了37搓茬,然后讓37與88進行交換。有序序列就成了{35队他,37}卷仑。
再次從無序序列中選擇最小的那個值,經(jīng)過查找我們找到了47麸折,然后將47與58進行交換锡凝。此刻有序序列就成了{35, 37, 47}。
重復的從無序序列中選擇最小的值進行交換......
原文出自:http://www.cnblogs.com/ludashi/p/6031379.html
還有一種思想是垢啼,默認數(shù)組中第一個元素為最大(最写芫狻)值,之后將這個元素和后面的每個元素都進行比較芭析,以由大到小排序為例锚扎,當?shù)谝粋€值遇到比其大的,就進行交換馁启。這樣第一輪過后驾孔,第一位就是最大的。接著進行第二輪惯疙,由第二個數(shù)開始逐個比較翠勉,遇到比第二個數(shù)大的進行交換,這樣第二輪之后第二個數(shù)就是第二大的了霉颠,以此類推眉菱,不斷進行選擇,最后完成排序掉分。