zoukankan      html  css  js  c++  java
  • 算法排序

    # 二分查找

    def erfen(alist,item):
      # 构造初始下标和结束下标
      first = 0
      last = len(alist)-1
      # 构造循环比较条件
      while first <= last:
        #构造中间值下标
        mid = (first+last)//2
         if item == alist[mid]:
          return True,alist.index(item)
        else:
        # 如果说查询的值大于中间值的的话
          if item>alist[mid]:
                         first = mid+1
               else:
                         last = mid - 1
               return False

    迭代查询

    # 通过迭代来查询

    def fun(alist,item):

      if len(alist) == 0:
        return False
      else:
        mid = len(alist) // 2 #获取中间值的下标
        if item == alist[mid]:
          return True,item
        elif item < alist[mid]: # 如果查找的数小于中间值
          return fun(alist[:mid],item) #从开头到中间值查询 [:mid]是中间值66往前得数
        else:
          return fun(alist[mid+1:],item) # 否则从中间值下一个数到结尾


    print(fun([-22,-11,0,11,22,33,44,55,57,66,72,81,96,123456],44))

     

    # 冒泡排序
    def func(alist):
    # x就是 1 到 传过来的这个参数的长度总值
    for x in range(1,len(alist)):
    # i就是传过来的列表长度 -去x
    for i in range(0,len(alist)-x):
    # 如果过下标i 小于i+1
    if alist[i] > alist[i+1]:
    # name下标i 就和下标i+1 互换位置
    alist[i],alist[i+1] = alist[i+1],alist[i]
    # 返回重组后的列表
    return alist



    # 选择排序
    def func(alist):
    # x就是1到传过来的这个参数的总长度
    for x in range(0,len(alist)):

    # min_num 就等于每次循环的小标对应数字
    min_num = alist[x]

    # 循环小标x+1 到所有下标长度
    for i in range(x+1,len(alist)):
    # 如果下标i的参数大于min_num
    if alist[i] < min_num:
    # 互换位置(参数互换)
    alist[i],min_num = min_num,alist[i]
    alist[x] = min_num
    return alist

    print(func([1,55,22,66,44,22,88]))

     

     

  • 相关阅读:
    mysql,windows自动备份设置
    彻底搞清楚javascript中的require、import和export
    Spring Boot 打包报错Failed to execute goal org.apache.maven.plugins:mavenresourcesplugin:3.2.0
    Spring AOP 切点切面
    12.5M 30M 90M DEM免费下载!【转】
    JS 中的数组遍历方式效率比较[转]
    cesium加载CAD模型(.dwg)
    Cesium发布下一代3D Tiles规范预览
    cesium点击面高亮事件[转]
    MySQL 5.7及8.0版本数据库的root密码遗忘的解决办法
  • 原文地址:https://www.cnblogs.com/Mr-Xu88/p/14145632.html
Copyright © 2011-2022 走看看