排序 簡單選擇排序 Python

2021-08-05 22:49:56 字數 879 閱讀 2924

每一輪迴圈中,找到待排序列中的最小值,將其和待排序列頭元素交換,最終達到有序

對序列 [2, 4, 1, 3, 6, 5] 按公升序排列

[2, 4, 1, 3, 6, 5] -> [1, 4,2, 3, 6, 5] -> [1,2,4, 3, 6, 5] -> [1, 2,3,4, 6, 5] -> [1, 2, 3,4, 6, 5] -> [1, 2, 3, 4,5,6]

class

solution:

# @param a an integer array

# @return nothing

defsortintegers

(self, a):

# write your code here;

for i in range(len(a) - 1):

# 儲存最小值的下標,減少交換次數

min_ind = i

for j in range(i + 1,len(a)):

if a[min_ind] > a[j]:

min_ind = j

if min_ind != i:

self.swap(a, min_ind, i)

defswap

(self, a, i, j):

tmp = a[i]

a[i] = a[j]

a[j] = tmp

o(

n2)

簡單選擇排序 python

原理 每一趟從待排序的元素中選出最小 最大 的元素,順序放在待排序的序列中最前,直到全部元素排序完成 假設初始為 7,3,8,5,6,1,9,4,2 第一趟排序後 1,7,3,8,5,6,9,4,2 第二趟排序後 1,2,7,3,8,5,6,9,4 第三趟排序後 1,2,3,7,8,5,6,9,4 ...

Python 簡單選擇排序

這種排序就是在要選取的列表中選取最小的值,把最小的值放到序列的第一位,再進行將剩餘的值重複上述操作,直到剩餘序列為0。序列就是乙個有序的序列了。分析 現有一組序列,我們把它放入列表中 a 10,2,5,1,3,7,3 1.使用迴圈改變每一次的待排序序列從哪一位開始,從下標0開始到len a 1 2....

Python 簡單選擇排序

總結 解析版 nums list range 10 生成0 9的十個數 import random 匯入模組 random.shuffle nums 匯入shuffle隨機生成樹模組,將該列表隨機打亂 print nums 列印出隨機打亂列表後的效果 length len nums 計算長度 cou...