選擇排序(selection-sort)是一種簡單直觀的排序演算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。
演算法描述:(n個記錄的直接選擇排序可經過n-1趟直接選擇排序得到有序結果)
1.初始狀態:無序區為r[1..n],有序區為空;
2.第i趟排序(i=1,2,3…n-1)開始時,當前有序區和無序區分別為r[1..i-1]和r(i..n)。該趟排序從當前無序區中-選出關鍵字最小的記錄 r[k],將它與無序區的第1個記錄r交換,使r[1..i]和r[i+1..n)分別變為記錄個數增加1個的新有序區和記錄個數減少1個的新無序區;
3.n-1趟結束,陣列有序化了。
博主使用python實現**如下:
def selectsort(s):
for i in range(len(s)-1):
for j in range(i+1,len(s)):
if s[j] < s[i]:
s[i],s[j] = s[j],s[i]
print(s)
return s
s=[1,5,3,2,7,6,85,24,45,36]
selectsort(s)
print(s)
經典排序演算法 選擇排序
對比陣列中前乙個元素跟後乙個元素的大小,如果後面的元素比前面的元素小則用乙個變數k來記住他的位置,接著第二次比較,前面 後乙個元素 現變成了 前乙個元素 繼續跟他的 後乙個元素 進行比較如果後面的元素比他要小則用變數k記住它在陣列中的位置 下標 等到迴圈結束的時候,我們應該找到了最小的那個數的下標了...
經典排序演算法 選擇排序
選擇排序是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小元素,放到排序序列末尾。以此類推,直到所有的元素均排序完畢。選擇排序的交換操作介於0和 n 1 次之間 選擇排序的比較操作為n n 1 2次之間 選擇...
經典排序演算法 選擇排序
含義 直接從待排序陣列裡選擇乙個最小 或最大 的數字,每次都拿乙個最小數字出來,順序放入新陣列,直到全部拿完。特點 以從小到大排序為例 n個元素,每一趟比較找出最小的那個元素,放在頭部 經過n 1趟比較,排序就出來了。相當於每次從無序列表裡找出乙個最小數,放到左邊 然後剩下的元素繼續找出最小的,放在...