Skip to content

Commit a628917

Browse files
committed
Added Heap Sort algorithm in Python for Hacktoberfest 2025
1 parent c79034c commit a628917

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

sorts/heap_sorting.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
def heapify(arr, n, i):
2+
largest = i
3+
l = 2 * i + 1
4+
r = 2 * i + 2
5+
6+
if l < n and arr[l] > arr[largest]:
7+
largest = l
8+
if r < n and arr[r] > arr[largest]:
9+
largest = r
10+
if largest != i:
11+
arr[i], arr[largest] = arr[largest], arr[i]
12+
heapify(arr, n, largest)
13+
14+
def heap_sort(arr):
15+
n = len(arr)
16+
for i in range(n // 2 - 1, -1, -1):
17+
heapify(arr, n, i)
18+
for i in range(n - 1, 0, -1):
19+
arr[i], arr[0] = arr[0], arr[i]
20+
heapify(arr, i, 0)
21+
22+
if __name__ == "__main__":
23+
arr = [12, 11, 13, 5, 6, 7]
24+
print("Original array:", arr)
25+
heap_sort(arr)
26+
print("Sorted array:", arr)

0 commit comments

Comments
 (0)