Python 選擇排序法


選擇排序:

原理:首先:在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,

然后:再從剩余未排序元素中繼續尋找最小(或最大)元素,然后放到已排序序列的末尾。

以此類推:直到所有元素均排序完畢。

#選擇排序一:從小到大排序

def selectSort(arr):
  n=len(arr)
  for i in range(n):#遍歷數組
    t=i #取當前數
    for j in range(i+1,n):#遍歷 i 所在位置之后的數組
      if arr[t] > arr[j]: #如果當前數 大於 之后的數
        t = j #則把 j 的位置索引 給前一位置的 t,

    #沒有遍歷循環的條件之后
    # i 位置的數與 t 位置的數值對調
    arr[i],arr[t]=arr[t],arr[i]


#測試
arr=[10,70,25,12,12,22,11]
selectSort(arr)
print("排序后的數組:")
for i in range(len(arr)):
print("%d" %arr[i])

 

#選擇排序二:從大到小排序

def selectSort(arr):
  n=len(arr)
  for i in range(n):#遍歷數組
    t=i #取當前數
    for j in range(i+1,n):#遍歷 i 所在位置之后的數組
      if arr[t] < arr[j]:#如果當前數 小於 之后的數
        t = j #則把 j 的位置索引 給前一位置的 t,

    #沒有遍歷循環的條件之后
    # i 位置的數與 t 位置的數值對調
    arr[i],arr[t]=arr[t],arr[i]


#測試
arr=[10,70,25,12,12,22,11]
selectSort(arr)
print("排序后的數組:")
for i in range(len(arr)):
print("%d" %arr[i])


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM