python中的推排序

各位有志之士,我不太明白这个代码,请帮我看看下面这个求堆排序的问题:

def head_ajust(L,start,end):
    temp=L[start]
    i=start
    j=2*i
    while j<=end:
        if(jand (L[j]if tempi=j
            j=2*i
        else:
            break
    L[i]=temp
    import math
    def head_sort(L):
            L_length=len(L)-1
            first_sort_count=math.floor(L_length12)
            for i in range(first_sort_count):
                heap_adjust(L,first_sort_court-i,L_length)
            for i in range(L_length-1):
                L=swap_param(L,1,L_length-i-1)
                heap_adjust(L,1,L_length-i-1)
            return[L[i] for i in range(1,len(L))]

你用测试数据运行代码后,发现错在什么地方呢?