python**:
"""選擇排序(1)直接選擇排序
每次從未排序陣列中找出最小的數
如果該數不是第1個數則將其與第1個數交換
例如:1) 從[3,4,1,2]中找出最小的數1,將數1與第1個數3交換,得到[1,4,3,2]
2) 從[4,3,2]找出最小的數2,將數2與第1個數4交換,得到[2,3,4]
"""#
希爾排序
defselectsort(lst):
for i in
range(len(lst)):
pos =i
for j in
range(i,len(lst)):
if lst[j] pos =j
if pos !=i:
lst[i],lst[pos] =lst[pos],lst[i]
print("
選擇交換:[%s]:%s [%s]:%s
" %(i,lst[i],pos,lst[pos]))
if__name__ == "
__main__":
lst = [3, 6, 9, 1, 4, 7, 2, 8, 5, 0]
print("
排序前: %s\r\n
" %lst)
selectsort(lst)
print("
\r\n排序後: %s
" % lst)
輸出結果:
e:\python\algorithm>python3 selectsort.py排序前: [3, 6, 9, 1, 4, 7, 2, 8, 5, 0]
選擇交換後:[0]:0 [9]:3選擇交換後:[1]:1 [3]:6選擇交換後:[2]:2 [6]:9選擇交換後:[3]:3 [9]:6選擇交換後:[5]:5 [8]:7選擇交換後:[6]:6 [9]:9選擇交換後:[7]:7 [8]:8排序後: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
*****結束*****
1 選擇排序
選擇排序演算法思想描述 1 定義變數minindex每次都指向全域性最小值 2 從陣列0位置開始,minindex 0,把1 n 1位置上的每乙個數依次取出 用下標j指向 和minindex位置的數比較,如果取出的這個數arr j 比arr minindex 的數小,更新minindex j,否則不...
C 排序 1 選擇排序
排序方法分為以下幾種,我將在接下來的幾篇blog中,介紹每一種。首先是比較簡單的選擇排序中的直接選擇排序。時間按複雜度為o n 2 空間複雜度為o 1 是一種不穩定的排序方法。具體形式如下圖所示 第一次從9,1,4,6,2中選擇最小的,即1,將1與 a 0 9調換位置,確定了第乙個位置的資料元素 第...
Python 選擇排序
coding utf 8 選擇排序 在所有記錄中選擇最小的乙個元素,與第乙個記錄交換,依次,在其餘的記錄中選擇最小的元素與第二個元素交換 def sellectsort list list 4,1,9,13,34,26,10,7,4 m len list if m 2 如果是空表或只有乙個元素,返回...