选择排序的工作过程如下 : 首先,选中数组中最小的元素,将它与数组中第一个元素进行交换。然后找到次小的元素,并将它与数组中第二个元素进行交换。按照这种方法一直进行下去,直到整个数组排完序。
选择排序的的执行时间比较固定,不会因为原文件是否有序而改变。
python代码实现:
#!/usr/bin/env python
def swap(array,i,j):
temp = array[i]
array[i] = array[j]
array[j]= temp
def selection(array,begin,end):
if(end > begin >= 0):
for i in range(end):
temp = end
for j in range(end,begin+i-1,-1):
if array[j] < array[temp]:
temp = j
swap(array,i,temp)
print array
print "-------------------"
if __name__=="__main__":
array = [6,4,8,1,4,7,3]
selection(array,0,len(array)-1)
参考文档:《算法:C语言实现》