-
算法步骤
首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。
再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
重复第二步,直到所有元素均排序完毕。 -
代码思路
a.先用list[0]和list[1]~list[len(list)]比较,如果list[0]大,交换位置
b.再用list[1]和list[2]~list[len(list)]比较,如果list[1]大,交换位置
c.以此类推 -
代码
方法一:
#!/usr/bin/python
list = [10,6,4,8,2,9,1]
def selectionSorted(list):
for i in range(0, len(list)-1):
for j in range(i+1, len(list)):
if list[i] > list[j]:
list[i], list[j] = list[j], list[i]
return list
print(selectionSorted(list))
方法二:
#!/usr/bin/python
list = [10,6,4,8,2,9,1]
def selectionSorted(list):
for i in range(0, len(list)-1):
minIndex = i
for j in range(i+1, len(list)):
if list[minIndex] > list[j]:
minIndex = j
if i != minIndex:
list[minIndex], list[i] = list[i], list[minIndex]
return list
print(selectionSorted(list))
网友评论