简单算法Python实现

1.Euclid算法计算m和n的最大公约数

 

def euclid(m,n):
    while m > 0:
        r = n % m
        n = m
        m = r
    return n


m = input("m:")
n = input("n:")
print euclid(m,n)

 

2.顺序检索算法Search

 

def search(L,x):
    j=0
    n=len(L)
    while j<n and x>L[j]:
        j +=1
    if j>=n or x<L[j]:
        j=-1
    return j

L = [0,1,2,3,4,5,6,7,8,9]
x=input("x:")
y=search(L,x)
print y+1

 

3.冒泡排序算法

 

def bubble(L,n):
    for i in range(n-1):
        for j in range(n-1-i):
            if L[j]>L[j+1]:
                L[j],L[j+1]=L[j+1],L[j]
    return L


L = [1,5,11,2,49,22,12,23,12,0,8]
n = len(L)
print bubble(L,n)

 

posted on 2017-11-30 10:46  一意孤城  阅读(221)  评论(0编辑  收藏  举报

导航