zoukankan      html  css  js  c++  java
  • 常见算法 python实现

    冒泡排序:

    def maopao(a):
    #a=[12,0,-9,6,1,23,45]
    for i in range(0,len(a)-1):
    for j in range(0,len(a)-1):
    if a[j]<a[j+1]:
    k=a[j]
    a[j]=a[j+1]
    a[j+1]=k
    print(a)
    a=[12,0,-9,6,1,23,45]
    maopao(a)

    输出结果:
    [45, 23, 12, 6, 1, 0, -9]

    选择排序:

    
    
    ef xuanze(a):
    for i in range(0,len(a)-1):
    for j in range(i+1,len(a)):
    if a[j]<a[i]:
    k=a[j]
    a[j]=a[i]
    a[i]=k
    print(a)
    xuanze(a)
    输出结果:
    [-9, 0, 1, 6, 12, 23, 45]

    二分查找:

    
    
    def erfen(a,b):
    min=0
    mid =int((len(a)-1) / 2)
    # print(a[mid])
    max=len(a)-1
    while(a[mid]!=b):
    if(a[mid]<b):
    min=mid+1
    elif(a[mid]>b):
    max=mid-1
    mid=int((max+min)/2)
    if(min>max):
    return -1
    return mid
    c=[1,2,3,44,66,77,78,88]
    b=2
    print(erfen(c,b))

    输出结果:
    1

    插入排序:

    def charu(a):
    for i in range(1,len(a)-1):
    # 设置数组中的第2个元素为第一次循环要插入的数据
    temp=a[i]
    j=i-1
    while(j>=0 and temp<a[j]):#如果要插入的元素小于第j个元素,就将第j个元素向后移
    a[j+1]=a[j]
    j=j-1
    a[i]=temp #直到要插入的元素不小于第j个元素
    print(a)

    charu(a)

    输出结果:
    charu(a)


  • 相关阅读:
    桌面右击新建没有记事本以解决?
    mysql int(3)与int(11)的区别
    PHPCMS 权限
    PHP 全局函数
    SESSION 丢失
    成功配置gVim的ZenCoding插件
    phpcms 模版源码分析
    更新首页
    隐藏apache访问错误显示系统和版本信息
    nginx 编译安装
  • 原文地址:https://www.cnblogs.com/zzzao/p/9198313.html
Copyright © 2011-2022 走看看