परिचय
डेटा के एक सेट से, यह एल्गोरिदम सरणी के सबसे बड़े तत्व से लेकर kवें सबसे बड़े तत्व को ढूंढेगा।
इस समस्या को सरणी को क्रमबद्ध करके आसानी से हल किया जा सकता है। हम उन्हें आरोही या अवरोही क्रम में क्रमबद्ध कर सकते हैं। अवरोही क्रम में हल करने पर, हम परिणाम प्राप्त करने के लिए पहले k तत्व प्राप्त कर सकते हैं।
इनपुट और आउटपुट
इनपुट: एक सरणी के तत्व: {1, 23, 12, 9, 30, 2, 50, 63, 87, 12, 45, 21}, K = 4
आउटपुट: 4 सबसे बड़े तत्व हैं 87 63 50 45
एल्गोरिदम
kthLargestElement(array, n, k)
इनपुट: सरणी, सरणी में तत्वों की संख्या, स्थान k
आउटपुट: सरणी के सबसे बड़े तत्व से लेकर kवें सबसे बड़े तत्वों को प्रदर्शित करें
Begin
सरणी को अवरोही क्रम में क्रमबद्ध करें
i := 0 से k-1 तक, करें
array[i] प्रदर्शित करें
done
End
उदाहरण (C++ कोड)
#include <iostream>
#include <algorithm>
using namespace std;
bool compare(int a, int b) {
return a > b;
}
void kthLargestElement(int array[], int n, int k) {
sort(array, array + n, compare);
for (int i = 0; i < k; i++)
// सबसे बड़ा से kवां सबसे बड़ा तत्व
cout << array[i] << " ";
}
int main() {
int array[] = {1, 23, 12, 9, 30, 2, 50, 63, 87, 12, 45, 21};
int n = 12;
int k = 4;
kthLargestElement(array, n, k);
}
आउटपुट
87 63 50 45