From 7ac9f0165259464c443c6bfdaf9b55607affba1b Mon Sep 17 00:00:00 2001 From: Krishna Sen Date: Wed, 8 Oct 2025 00:38:46 +0530 Subject: [PATCH] Create Top K elements Priority_queue.cpp --- Top K elements Priority_queue.cpp | 42 +++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Top K elements Priority_queue.cpp diff --git a/Top K elements Priority_queue.cpp b/Top K elements Priority_queue.cpp new file mode 100644 index 00000000..8c197713 --- /dev/null +++ b/Top K elements Priority_queue.cpp @@ -0,0 +1,42 @@ +#include +using namespace std; + +void topKElements(const vector& nums, int k) { + //priority_queue maxHeap; + // OR + // priority_queue, less> maxHeap; + + priority_queue, greater> minHeap; + + for (int num : nums) { + minHeap.push(num); + if (minHeap.size() > k) { + minHeap.pop(); // remove the smallest + } + } + + + while (!minHeap.empty()) { + cout << minHeap.top() < nums = {4, 1, 7, 3, 9, 2, 6}; + int k = 3; + + cout << "Top " << k << " elements are: "<