每一輪迴圈中,找到待排序列中的最小值,將其和待排序列頭元素交換,最終達到有序
對序列 [2, 4, 1, 3, 6, 5] 按公升序排列
[2, 4, 1, 3, 6, 5] -> [1, 4,2, 3, 6, 5] -> [1,2,4, 3, 6, 5] -> [1, 2,3,4, 6, 5] -> [1, 2, 3,4, 6, 5] -> [1, 2, 3, 4,5,6]
class
solution:
# @param a an integer array
# @return nothing
defsortintegers
(self, a):
# write your code here;
for i in range(len(a) - 1):
# 儲存最小值的下標,減少交換次數
min_ind = i
for j in range(i + 1,len(a)):
if a[min_ind] > a[j]:
min_ind = j
if min_ind != i:
self.swap(a, min_ind, i)
defswap
(self, a, i, j):
tmp = a[i]
a[i] = a[j]
a[j] = tmp
o(
n2)
簡單選擇排序 python
原理 每一趟從待排序的元素中選出最小 最大 的元素,順序放在待排序的序列中最前,直到全部元素排序完成 假設初始為 7,3,8,5,6,1,9,4,2 第一趟排序後 1,7,3,8,5,6,9,4,2 第二趟排序後 1,2,7,3,8,5,6,9,4 第三趟排序後 1,2,3,7,8,5,6,9,4 ...
Python 簡單選擇排序
這種排序就是在要選取的列表中選取最小的值,把最小的值放到序列的第一位,再進行將剩餘的值重複上述操作,直到剩餘序列為0。序列就是乙個有序的序列了。分析 現有一組序列,我們把它放入列表中 a 10,2,5,1,3,7,3 1.使用迴圈改變每一次的待排序序列從哪一位開始,從下標0開始到len a 1 2....
Python 簡單選擇排序
總結 解析版 nums list range 10 生成0 9的十個數 import random 匯入模組 random.shuffle nums 匯入shuffle隨機生成樹模組,將該列表隨機打亂 print nums 列印出隨機打亂列表後的效果 length len nums 計算長度 cou...