Python例項之選擇排序

2021-10-08 23:45:32 字數 2010 閱讀 9783

公升序排列:

# 選擇排序(公升序、降序)

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...