當前元素和後面所有元素最小值進行比較,若前者大,則交換位置。
# -*- coding: utf-8 -*-
defselect_sort
(input_list):if
len(input_list)
<=1:
return input_list
for i in
range(0
,len
(input_list)-1
):for j in
range
(i+1
,len
(input_list)):
# 和後面所有元素進行比較
if input_list[i]
>= input_list[j]
:# 若大則交換雙方位置
input_list[i]
,input_list[j]
= input_list[j]
,input_list[i]
return input_list
if __name__ ==
'__main__'
: pre_list =[1
,6,3
,3,7
] res = select_sort(pre_list)
print
(res)
a. 變數的邊界問題:假設陣列的長度為n,則需要比較n-1輪。在當前輪數下,和其後面所有元素[i+1,n)進行比較即可。 Python實現選擇排序
選擇排序 一種簡單直觀的排序演算法。工作原理 首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘的未排序的元素中繼續尋找最小 大 元素,然後放到已排序的末尾。直到所有元素均排序完畢。優點 選擇排序與資料移動有關。如果某個元素位於正確的最終位置上,則它不會被移動。選擇排序每...
Python實現選擇排序
實現思路 將乙個序列分為兩部分,前面是有序序列,後面是無序序列,不斷的將後面的無序序列中的最小值新增到前面的有序序列中,直到後面的無序序列中沒有值,開始的時候將第乙個值作為有序序列。實現 arr 7,4,3,67,34,1,8 length 7 defselect sort arr n len ar...
python實現選擇排序
選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。選擇排序的主要優點與資料移動有關。如果某...