Skip to content

Commit 36eade4

Browse files
Merge pull request #211 from adityamep/add-heap-sort
Add Heap Sort implementation in Java
2 parents 07e30c8 + 565fa87 commit 36eade4

1 file changed

Lines changed: 43 additions & 0 deletions

File tree

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import java.util.Arrays;
2+
3+
public class HeapSort {
4+
static void heapify(int arr[], int n, int i) {
5+
int largest = i;
6+
int left = 2 * i + 1;
7+
int right = 2 * i + 2;
8+
9+
if (left < n && arr[left] > arr[largest])
10+
largest = left;
11+
12+
if (right < n && arr[right] > arr[largest])
13+
largest = right;
14+
15+
if (largest != i) {
16+
int temp = arr[i];
17+
arr[i] = arr[largest];
18+
arr[largest] = temp;
19+
heapify(arr, n, largest);
20+
}
21+
}
22+
23+
static void heapSort(int arr[]) {
24+
int n = arr.length;
25+
26+
for (int i = n / 2 - 1; i >= 0; i--)
27+
heapify(arr, n, i);
28+
29+
for (int i = n - 1; i >= 0; i--) {
30+
int temp = arr[0];
31+
arr[0] = arr[i];
32+
arr[i] = temp;
33+
heapify(arr, i, 0);
34+
}
35+
}
36+
37+
public static void main(String[] args) {
38+
int arr[] = {12, 11, 13, 5, 6, 7};
39+
System.out.println("Original array: " + Arrays.toString(arr));
40+
heapSort(arr);
41+
System.out.println("Sorted array: " + Arrays.toString(arr));
42+
}
43+
}

0 commit comments

Comments
 (0)