Quick actions

cmd+k|ctrl+k

Navigation

Languages

heapify

Snippet info

Language

Python

Visibility

public

Author

krishnakanth

Created

2023-11-03T05:22:52.522988Z

Updated

2023-11-03T05:22:52.522988Z

arr = [0] + list(map(int,input().split()))
n = len(arr) - 1
def max_heapify(arr,i,n):
    temp = arr[i]
    j = 2*i
    while (j<=n):
        
        if j < n and arr[j+1] > arr[j]:
            j += 1
         
        if temp > arr[j] :
            break
        elif arr[j] >= temp :
            arr[j//2] = arr[j]
            j = j*2
        
    arr[j//2] = temp
            
            
print(arr,n//2,n)
for i in range(n//2,0,-1):
    max_heapify(arr,i,n)
print(arr)

    
INFO