ZYT_DimidiateRanging 二分查找法

注:这是我自己写的二分查找法(可能有错误),不是经典的二分查找法。

ZYT_DimidiateRanging

S=[38,27,43,3,9,82,10]
low=1
A=[]
B=[]
C=[]

print(S)
def ZYT_DimidiateRanging(S):
    global low
    high = len(S)
    mid=int(low+high/2)
    A=S[:mid]  #在mid之前
    B=S[mid:]  #从mid开始
    Mediater=mid
    while len(A)!=1:
        high=mid
        mid=int(low+high/2)
        A=S[:mid]
        B=S[mid:]
        if len(A)==2:
            if A[0]>A[1]:
                Mediater1=A[1]
                A[1]=A[0]
                A[0]=Mediater1
            print("\n----A:",A)
            print("----B:",B)
            if len(B)==1:
                A.append(B[0])
            for j in range(len(A)):
                for k in range(len(C)):
                    if C[k]>A[j]:
                        Mediater2=A[j]
                        A[j]=C[k]
                        C[k]=Mediater2
                        
                C.append(A[j])
            print("\nC:",end="")
            for y in range(len(C)):
                print(C[y],end="   ")
            return ZYT_DimidiateRanging(B)
    AA=len(C)
    print("\n")
    print("-----"*AA)

        
ZYT_DimidiateRanging(S)
print("\n最终的C:",end="")
for y in range(len(C)):
    print(C[y],end=" ")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZYT_庄彦涛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值