公升序排列:
# 選擇排序(公升序、降序)
a =[-8
,-9,
5,6,
2,3,
7]print
('公升序:'
)def
sort1()
:for i in
range
(len
(a))
: mina = i # 序號
for j in
range
(i +1,
len(a)):
if a[mina]
> a[j]
: mina = j
a[i]
, a[mina]
= a[mina]
, a[i]
# 交換位置
return a
print
(f'排序後:'
)公升序:
排序後:[-9
,-8,
2,3,
5,6,
7]
降序排列:
print
('降序:'
)def
sort2
(a):
for i in
range
(len
(a))
: max_a = i # 序號
for j in
range
(i +1,
len(a)):
if a[max_a]
< a[j]
: max_a = j
a[i]
, a[max_a]
= a[max_a]
, a[i]
# 交換位置
return a
b =[-8
,9,6
,2,1
,4,-
10]print
(f'排序後:'
)降序:
排序後:[9,
6,4,
2,1,
-8,-
10]
將公升序、降序合併為乙個函式程式:
# 將公升序和降序合併為乙個程式
# order>0為公升序 order<0為降序
a =[-8
,-9,
5,6,
2,3,
7]defget_sort
(arr, order)
:for i in
range
(len
(a))
: p = i
for j in
range
(i +1,
len(a)):
if(arr[p]
> arr[j]
)and
(int
(order)
>0)
or(arr[p]
< arr[j]
)and
(int
(order)
<0)
:# 條件合併判斷
p = j
arr[i]
, arr[p]
= arr[p]
, arr[i]
return arr
print
(get_sort(a,1)
)print
(get_sort(a,-1
))結果:[-9
Python之選擇排序
選擇排序 首先從待排序的資料中選出最小 或最大 的乙個元素,放在已排序序列的末尾,然後再從剩餘未排序元素中繼續尋找最小 或最大 元素,放到已排序序列的末尾,以此類推,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法。示例 查詢陣列中最小元素,並返回對應索引 def findsmallest ...
python選擇排序之簡單選擇排序
簡單選擇排序 從無序數列中選取最小的元素和無序數列中的第乙個元素交換,每輪都可以確定最小元素的位置。1.迴圈取無序序列中的第乙個元素 2.迴圈和後面的元素一一比較,直到選到乙個最小的數,將它放在第一位 將無序數列變有序 coding utf 8 def selectsort series for i...
Python 經典排序之選擇排序
選擇排序 selection sort list 4,3,1,2,5 n len list 陣列長度 print 列表長度為 d n print 開始選擇排序 print n for i in range 0,n print 當前是第 d輪排序 i for j in range i 1,n prin...