- 一趟排序记录最小的数,
- 放到第一个位置 再一趟排序记录列表无序区最小的数,放到第二个位置
- 无序区最小数的位置
遍历一遍找到最小的数
min 都是O(n)
removeO(n)
def select_sort(li):
for i in range(len(li)-1): #大循环
#记录最小出现的位置,假设第一个值是最小
min_loc = i
#没有必要从第一个数开始比较,是自己和自己比较,直接i+1和后面的数比较
for j in range(i+1,len(li)):
if li[j] < li[min_loc]:
#这就是最小值了
min_loc = j
li[i],li[min_loc] = li[min_loc],li[i]
print(li)
li = [3,4,2,1,5,6,8,7,9]
print(li)
select_sort(li)
li[i] 就是最小的值
def select_sort(li):
for i in range(len(li)-1): #大循环
#记录最小出现的位置,假设第一个值是最小
min_loc = i
#没有必要从第一个数开始比较,是自己和自己比较,直接i+1和后面的数比较
for j in range(i+1,len(li)):
if li[j] < li[min_loc]:
#这就是最小值了
min_loc = j
if min_loc != i:
li[i],li[min_loc] = li[min_loc],li[i]
print(li)
li = [3,4,2,1,5,6,8,7,9]
print(li)
select_sort(li)