有以下資料,請使用選擇排序法進行排序。
[99,2,4,56,8,22,5,34,10,5.5,6,-5.2,0,-1]
選擇排序法的排序思想:假設有n個需要排序的資料,排序步驟如下
step1:選擇第乙個資料作為比較物件,將它與它後面的(n-1)個資料進行比較,選擇出最大/最小的那個資料與第乙個進行交換,第一次內層迴圈結束。總比較次數為n-1次
step2:選擇第二個資料作為比較物件,將它與它後面的(n-2)個資料進行比較,選擇出最大/最小的那個資料與第乙個進行交換,第二次內層迴圈結束。總比較次數為n-2次
step3:…總比較次數為n-3次……
…stepn:…總比較次數為1次
list1=[99
,2,4
,56,8
,22,5
,34,10
,5.5,6
,-5.2,0,
-1]#選擇排序
def selection_sort
(arr)
: array=arr
maxnum=
len(array)
for i in
range(0
,maxnum)
:for j in
range
(i+1
,maxnum)
:if array[i]
>array[j]
: array[i]
,array[j]
=array[j]
,array[i]
return array
if __name__==
'__main__'
:print
("排序前:%s"
% list1)
print
("排序後:%s"
%selection_sort
(list1)
)
python學習 python實現選擇排序演算法
二 選擇排序 三 py 實現選擇排序演算法 從第乙個數開始計數基準 為最小值 記錄下標 迴圈比較後面的數,記錄比基準小的數的下標,直到最後乙個數比較後,將當前最小值下標與基準替換 從下標為第幾次迴圈開始繼續1,2操作,直到迴圈列表長度 1的次數為止 關鍵 def select sort arr 選擇...
C 實現選擇排序法
選擇排序法的思想是從待排序的序列中找到最小 若從大到小排序,則找最大值 值加入到有序序列中。基於這個思想,很容易實現其演算法。注意,選擇排序法不是一種穩定的排序法,其時間複雜度為o n2 include using namespace std void selectsort int a,int n ...
Python學習 實現《氣泡排序法》
演算法思想 step1 將第乙個資料和第二個進行比較,若第乙個資料大於第二的資料,則將第乙個資料 大數 和第二個資料 小數 交換位置。再將第二個資料和第三個比較,若第二個資料大於第三個資料,交換資料。依次類推,直到最大的數排到最後的位置上。第1個迴圈結束。step2 將第乙個資料和第二個進行比較,若...