用python实现选择排序

"""
选择排序

"""

环境:spyder(python3.6)

import random
arr=[] #没有定义长度,长度为0
#随机生成一个数组
def genArray(n):
    for i in range(n):   #0,1,2,3,4....
        #arr[i]  要注意下标越界
        arr.append(random.randint(0,999)) #append会扩展这个数组
genArray(10)


#选择排序
def show(arr):
    for i in range(len(arr)):
        print(arr[i],end=',')
    print('\n')
show(arr)



'''算法实现一:按从大到小排序'''

for i in range(len(arr)-1):
    for j in range(i+1,len(arr)):
        if arr[j]>arr[i]:
            temp=arr[j]
            arr[j]=arr[i]
            arr[i]=temp

show(arr)

输出结果:

362,263,799,872,82,695,836,168,127,601,


872,836,799,695,601,362,263,168,127,82,

算法实现2:按从大到小排序

for i in range(len(arr)-1):
    index=i
    for j in range(i+1,len(arr)):
        if arr[index]<arr[j]:
            index=j
    arr[i],arr[index]=arr[index],arr[i]
show(arr)

 输出结果:(这里又重新随机生成一组数组)

988,893,151,754,269,992,835,331,427,691,

992,988,893,835,754,691,427,331,269,151,

        

猜你喜欢

转载自blog.csdn.net/qq_41127332/article/details/79842756