zoukankan      html  css  js  c++  java
  • 排序

    li=[2,3,12,4,23,13,11]
    # 冒泡排序
    def bubble_sort(alist):
    
        n =len(alist)
    
        for j in range(n-1):
    
            count=0
    
            for i in range(n-1-j):
    
                if alist[i]>alist[i+1]:
    
                    alist[i],alist[i+1] = alist[i+1],alist[i]
    
                    count+=1
    
            if count==0:
                return
    
    # 快排
    
    def quit_sort(alist,first,last):
    
        # 递归的终止条件
    
        if first>=last:
    
            return
    
        #定义一个中间值
    
        mid_value = alist[first]
    
        #  两个游标
        low = first
    
        high = last
        #
        while low<high:
    
            while low < high and alist[low] < mid_value:
                # low一直向右走
                low += 1
                # 退出循环表示 alist[low]>mid_value
                # 把最大 值
            alist[high] = alist[low]
    
            while low<high and alist[high]>=mid_value:
                high-=1
            # 退出循环
            alist[low] = alist[high]
    
    
        # 将中间值放在中间位置
    
        alist[low] = mid_value
    
        quit_sort(alist,first,low-1)
    
        quit_sort(alist,low+1,last)
    
    
    quit_sort(li,0,len(li)-1)
    
    print(li)
    
    #  二分查找
    # 前提为有序列表
    li=[1,2,3,5,6,78,90,341,547]
    
    num=int(input("请输入一个数"))
    
    def er_find(li,n):
        left = 0
        right = len(li) - 1
        while left<=right:
            mid=(left+right)//2
            if li[mid]>n:
                right=mid-1
            elif li[mid]<n:
                left=mid+1
            else:
                return True
    
        else:
            return False
    
    print(er_find(li,num))
  • 相关阅读:
    第六周活动进度表
    第二周活动进度表
    第一周活动进度表
    冲刺二阶段-个人总结10
    冲刺二阶段-个人总结09
    冲刺二阶段-个人总结08
    第一次冲刺-站立会议07
    第一次冲刺-站立会议06
    第一次冲刺-站立会议05
    第一次冲刺-站立会议04
  • 原文地址:https://www.cnblogs.com/knighterrant/p/10872842.html
Copyright © 2011-2022 走看看