Skip to content

Commit 65475f4

Browse files
committed
modify insert method, doExtractMax, ExtractMax
1 parent 7f34f7b commit 65475f4

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

02/HeapSort.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public void doMax(){
3535
public boolean doExtractMax(){
3636
if(this.heapSize > 0){
3737
extractMax(this.arr);
38-
doBuildMaxHeap();
38+
maxHeapify(this.arr,1);
3939
printArr();
4040
return true;
4141
}
@@ -91,9 +91,10 @@ private Node max(Node[] arr){
9191
}
9292

9393
private Node extractMax(Node[] arr){
94+
Node root = arr[1];
9495
swap(arr, heapSize, 1);
9596
this.heapSize--;
96-
return arr[1];
97+
return root;
9798
}
9899

99100
private void insert(Node[] arr, Node x){
@@ -104,7 +105,7 @@ private void insert(Node[] arr, Node x){
104105
temp[temp.length - 1] = x;
105106
this.arr = temp;
106107
this.heapSize = temp.length - 1;
107-
if(this.arr[this.heapSize/2].priorityNumber > this.arr[this.heapSize].priorityNumber) return;
108+
if(this.heapSize != 1 && this.arr[this.heapSize/2].priorityNumber > this.arr[this.heapSize].priorityNumber) return;
108109
buildMaxHeap(this.arr);
109110
}
110111

0 commit comments

Comments
 (0)