Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में K के गुणजों के बीच आने वाले सरणी तत्वों को सॉर्ट करना


मान लीजिए हमारे पास एक सरणी A है, और एक और पूर्णांक K। हमें उन तत्वों को सॉर्ट करना है जो किन्हीं दो K के गुणजों के बीच में हैं। मान लीजिए A [2, 13, 3, 1, 21, 7, 8, 13, 12] जैसा है, और K = 2। आउटपुट [2, 1, 3, 7, 13, 21, 8, 13, 12] होगा। यहां 2 के गुणज 2, 8 और 12 हैं, 2 और 8 के बीच के तत्व 13, 3, 1, 21, 7 हैं, वे 1, 3, 7, 13, 21 के रूप में सॉर्ट होंगे, 8 और 12 के बीच केवल 13 है, तो वह पहले से सॉर्टेड है।

हमें सरणी को ट्रैवर्स करना है, और K के गुणज को ट्रैक करते रहना है। फिर K के दूसरे गुणज से शुरू करके, वर्तमान और पिछले K के गुणज के बीच के हर तत्व को सॉर्ट करें।

उदाहरण

#include <iostream> #include <algorithm> using namespace std; void display(int arr[], int n) {    for (int i = 0; i < n; i++)    cout << arr[i] << " "; } void sortBetweenMultipleOfK(int arr[], int n, int k) {    int prev_index = -1;    for (int i = 0; i < n; i++) {       if (arr[i] % k == 0) {          if (prev_index != -1) //check whether that is not the first multiple of k          sort(arr + prev_index + 1, arr + i);          prev_index = i;       }    } } int main() {    int arr[] = {2, 13, 3, 1, 21, 7, 8, 13, 12};    int n = sizeof(arr) / sizeof(arr[0]);    int k = 2;    cout << "Before Sort: "; display(arr, n);    sortBetweenMultipleOfK(arr, n, k);    cout << "\nAfter Sort : "; display(arr, n); }

आउटपुट

Before Sort: 2 13 3 1 21 7 8 13 12 After Sort : 2 1 3 7 13 21 8 13 12

  1. - C++ में सरणी को अच्छा बनाने के लिए हटाए जाने वाले न्यूनतम तत्व

    समस्या कथन एक सरणी arr दी गई है, सरणी को अच्छा बनाने के लिए हटाए जाने वाले न्यूनतम तत्वों की संख्या ढूंढें। एक अनुक्रम a1, a2, a3...an को अच्छा कहा जाता है यदि प्रत्येक तत्व a[i] के लिए, एक तत्व a[j] (i ≠ j) मौजूद होता है जैसे कि a[i] + a[j] 2 की घात हो। arr1[] = {1, 1, 7, 1, 5} उपरोक्त सरणी में यदि

  1. - C++ में दूसरे ऐरे द्वारा परिभाषित क्रम के अनुसार ऐरे सॉर्ट करें

    इस सेक्शन में हम एक और सॉर्टिंग समस्या देखेंगे। मान लीजिए हमारे पास दो ऐरे A1 और A2 हैं। हमें A1 को इस तरह सॉर्ट करना है कि एलिमेंट्स के बीच का सापेक्ष क्रम वैसा ही हो जैसा वे A2 में हैं। यदि कुछ एलिमेंट्स A2 में मौजूद नहीं हैं, तो वे सॉर्टेड एलिमेंट्स के बाद जोड़ दिए जाएंगे। मान लीजिए A1 और A2 निम्

  1. - C++ में हीप सॉर्ट एल्गोरिदम का उपयोग करके 10 तत्वों की सरणी को सॉर्ट करने का प्रोग्राम

    हीप सॉर्ट बाइनरी हीप डेटा संरचना पर आधारित है। बाइनरी हीप में, मैक्स हीप के मामले में पैरेंट नोड के चाइल्ड नोड्स उससे छोटे या बराबर होते हैं, और मिन हीप के मामले में चाइल्ड नोड्स पैरेंट से बड़े या बराबर होते हैं। हीप सॉर्ट के सभी चरणों को समझाने वाला एक उदाहरण निम्नलिखित है। सॉर्टिंग से पहले 10 तत्व