Removed easter-egg :)
This commit is contained in:
parent
9e6722a861
commit
8e46832ff3
1 changed files with 0 additions and 77 deletions
77
\
77
\
|
@ -1,77 +0,0 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
|
||||
def heap_extract_max(A):
|
||||
m = A[0]
|
||||
A[0] = A.pop()
|
||||
|
||||
size = len(A)
|
||||
i = 0
|
||||
exit = not size == 0
|
||||
while exit:
|
||||
left = heap_left(size, i)
|
||||
print("left =", left)
|
||||
if left == None:
|
||||
break
|
||||
|
||||
right = heap_right(size, i)
|
||||
print("right =", right)
|
||||
if right == None:
|
||||
if A[i] < A[left]:
|
||||
A[i], A[left] = A[left], A[i]
|
||||
break
|
||||
|
||||
ma = max_3(A[i], A[left], A[right])
|
||||
if ma == A[i]:
|
||||
break
|
||||
elif ma == A[left]:
|
||||
A[i], A[left] = A[left], A[i]
|
||||
i = left
|
||||
else:
|
||||
A[i], A[right] = A[right], A[i]
|
||||
i = right
|
||||
|
||||
return m
|
||||
|
||||
def max_3(a, b, c):
|
||||
if a > b:
|
||||
if a > c:
|
||||
return a
|
||||
else:
|
||||
return c
|
||||
else:
|
||||
if b > c:
|
||||
return b
|
||||
else:
|
||||
return c
|
||||
|
||||
def heap_parent(n):
|
||||
n = n + 1
|
||||
if n == 1:
|
||||
return None
|
||||
else:
|
||||
return (n // 2) - 1
|
||||
|
||||
def heap_left(size, n):
|
||||
n = n + 1
|
||||
l = n * 2
|
||||
if l > size:
|
||||
return None
|
||||
else:
|
||||
return l - 1
|
||||
|
||||
def heap_right(size, n):
|
||||
n = n + 1
|
||||
l = n * 2 + 1
|
||||
if l > size:
|
||||
return None
|
||||
else:
|
||||
return l - 1
|
||||
|
||||
if __name__ == "__main__":
|
||||
args = [int(x) for x in sys.argv[1:]]
|
||||
print(args)
|
||||
print(heap_extract_max(args))
|
||||
print(args)
|
||||
|
Reference in a new issue