python算法

选择排序的实现:

#选择排序的实现
def xzpx(arr):
    for i in range(0,len(arr)): # 每趟排序
        k=i
        for j in range(i+1,len(arr)):# 每一趟选择最小的数
            if arr[j]<arr[k]:
             k=j
        arr[i],arr[k]=arr[k],arr[i] #交换位置

abc=[3,2,5,8,9,6,45,25,23,56,12]
xzpx(abc)
print(abc)

快排算法:

#快排的实现
def kp(arr,i,j): #快排总调用函数
    if i<j:
     base=kpgc(arr,i,j)
     kp(arr,i,base)
     kp(arr,base+1,j)
def kpgc(arr,i,j):
    base=arr[i]
    while i<j:
        while i<j and arr[j]>=base:
            j-=1
        while i<j and arr[j]<base:
            arr[i]=arr[j]
            i+=1
            arr[j]=arr[i]
    arr[i]=base
    return i
ww=[5,2,22,39,1]
kp(ww,0,len(ww)-1)
print(ww)
原文地址:https://www.cnblogs.com/sunliyuan/p/9793222.html