adding heap sort

This commit is contained in:
Jidong Xiao
2023-11-17 00:30:17 -05:00
parent 3a3de0c412
commit 60ffa8cc28
2 changed files with 21 additions and 1 deletions

View File

@@ -118,4 +118,4 @@ organized heap data, but incur a O(n log n) cost. Why?
## 23.10 Leetcode Exercises
- [Leetcode problem 912: Sort an Array](https://leetcode.com/problems/implement-queue-using-stacks/). Solution: [p232_queue_using_stacks.cpp](../../leetcode/p232_queue_using_stacks.cpp).
- [Leetcode problem 912: Sort an Array](https://leetcode.com/problems/sort-an-array/). Solution: [p912_heapsort_array.cpp](../../leetcode/p912_heapsort_array.cpp).

View File

@@ -0,0 +1,20 @@
class Solution {
public:
vector<int> sortArray(vector<int>& nums) {
vector<int> result;
priority_queue<int> pq;
int size = nums.size();
// build the priority queue, which by default is a max heap
for(int i=0;i<size;i++){
pq.push(nums[i]);
}
// pop out the largest element size times
for(int i=0;i<size;i++){
result.push_back(pq.top());
pq.pop();
}
// sort data in ascending order
reverse(result.begin(),result.end());
return result;
}
};