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

C++ में बड़े से छोटे क्रम में क्रमबद्ध करें

मान लीजिए कि हमारे पास पूर्णांकों की एक सूची है, हमें सूची को इस तरह से क्रमबद्ध करना होगा -

  • पहला तत्व अधिकतम है

  • दूसरा तत्व न्यूनतम है

  • तीसरा तत्व दूसरा अधिकतम है

  • चौथा तत्व दूसरा न्यूनतम है

और इसी तरह।

इसलिए, यदि इनपुट [6,3,10,4] जैसा है, तो आउटपुट [10, 3, 6, 4]

होगा।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • एक सरणी रिट परिभाषित करें

  • सरणी संख्याओं को क्रमबद्ध करें

  • j :=अंकों का आकार - 1

  • मैं :=0

  • जबकि मैं <=j, करता हूं -

    • रिट के अंत में nums[j] डालें

    • (j को 1 से घटाएं)

    • अगर मैं <=j, तो -

      • रिट के अंत में अंक [i] डालें

      • (i 1 से बढ़ाएँ)

  • वापसी रिट

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

#include <bits/stdc++.h>
using namespace std;
void print_vector(vector<auto> v){
   cout << "[";
   for(int i = 0; i<v.size(); i++){
      cout << v[i] << ", ";
   }
   cout << "]"<<endl;
}
class Solution {
   public:
   vector<int> solve(vector<int> & nums) {
      vector<int> ret;
      sort(nums.begin(), nums.end());
      int j = nums.size() - 1;
      int i = 0;
      while (i <= j) {
         ret.push_back(nums[j]);
         j--;
         if (i <= j) {
            ret.push_back(nums[i]);
            i++;
         }
      }
      return ret;
   }
};
main() {
   Solution ob;
   vector<int> v = {6,3,10,4};
   print_vector(ob.solve(v));
}

इनपुट

{6,3,10,4}

आउटपुट

10, 3, 6, 4

  1. सी++ में जंप गेम वी

    मान लीजिए कि हमारे पास पूर्णांकों की एक सरणी है जिसे arr और एक पूर्णांक d कहा जाता है। एक चरण में हम इंडेक्स i से − . पर जा सकते हैं i + x जहां:i + x

  1. C++ में फ़्रीक्वेंसी के आधार पर वर्णों को क्रमबद्ध करें

    मान लीजिए कि हमारे पास एक स्ट्रिंग है, हमें आवृत्ति के आधार पर वर्णों को क्रमबद्ध करना होगा। तो अगर स्ट्रिंग abbbacbcc की तरह है, तो आउटपुट bbbbcccaa होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - v नामक जोड़े की एक सरणी बनाएं, एक नक्शा बनाएं m स्ट्रिंग में सभी वर्णों के लिए, m[character] क

  1. सी ++ में 3-तरफा मर्ज सॉर्ट करें

    मर्ज सॉर्ट में सरणी को 2 भागों में पुनरावर्ती रूप से विभाजित करना, सॉर्ट करना और अंत में उन्हें मर्ज करना शामिल है। मर्ज सॉर्ट के एक प्रकार को 3-वे मर्ज सॉर्ट के रूप में माना जाता है जहां सरणी को 2 भागों में विभाजित करने के बजाय हम इसे 3 भागों में विभाजित करते हैं। मर्ज सॉर्ट, पुनरावर्ती तरीके से स