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

सी ++ में एक ऐरे को सॉर्ट करें

मान लीजिए कि हमारे पास पूर्णांकों की एक सरणी है; हमें उन्हें आरोही क्रम में क्रमबद्ध करना होगा। तो अगर सरणी [5,2,3,1] की तरह है, तो परिणाम [1,2,3,5]

होगा

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

  • विभाजन नामक एक विधि बनाएं, यह सरणी, निम्न और उच्च लेगा

  • धुरी सेट करें:=कम

  • मेरे लिए निम्न से उच्च श्रेणी में - 1

    • अगर nums[i]

  • स्वैप nums[pivot] और nums[high]

  • SortArr () नामक एक विधि को परिभाषित करें, यह सरणी, निम्न और उच्च लेगा

  • अगर कम>=ज्यादा है, तो वापस आएं

  • विभाजन सूचकांक:=विभाजन (अंक, निम्न, उच्च)

  • SortArr(nums, low, partitionIndex – 1)

  • SortArr(nums, partitionIndex + 1, high)

  • निम्न और उच्च को 0 और एआर के आकार के रूप में पारित करके मुख्य विधि से सॉर्टअर () को कॉल करें - 1

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

उदाहरण

#include <bits/stdc++.h>
using namespace std;
void print_vector(vector<string> v){
   cout << "[";
   for(int i = 0; i<v.size(); i++){
      cout << v[i] << ", ";
   }
   cout << "]"<<endl;
}
class Solution {
   public:
   int partition(vector <int>& nums, int low, int high){
      int pivot = low;
      for(int i = low; i < high; i++){
         if(nums[i] < nums[high]){
            swap(nums[i], nums[pivot]);
            pivot++;
         }
      }
      swap(nums[pivot], nums[high]);
      return pivot;
   }
   void sortArr(vector <int>& nums, int low, int high){
      if(low >= high) return;
      int partitionIndex = partition(nums, low, high);
      sortArr(nums, low, partitionIndex - 1);
      sortArr(nums, partitionIndex + 1, high);
   }
   vector<int> sortArray(vector<int>& nums) {
      sortArr(nums, 0, nums.size() - 1);
      return nums;
   }
};
main(){
   vector<int> v1 = {5,2,3,1};
   Solution ob;
   print_vector(ob.sortArray(v1));
}

इनपुट

[5,2,3,1]

आउटपुट

[1,2,3,5]

  1. C++ प्रोग्राम काउंटिंग सॉर्ट को लागू करने के लिए

    काउंटिंग सॉर्ट एक स्थिर छँटाई तकनीक है, जिसका उपयोग वस्तुओं को छोटी संख्याओं की कुंजियों के अनुसार क्रमबद्ध करने के लिए किया जाता है। यह उन कुंजियों की संख्या की गणना करता है जिनके प्रमुख मान समान हैं। यह छँटाई तकनीक कुशल है जब विभिन्न कुंजियों के बीच का अंतर इतना बड़ा नहीं है, अन्यथा यह स्थान की जट

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

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

  1. एक सी ++ फ़ंक्शन में एक सरणी पास करना

    C++ फ़ंक्शन के तर्क के रूप में संपूर्ण सरणी को पारित करने की अनुमति नहीं देता है। हालांकि, आप किसी इंडेक्स के बिना ऐरे का नाम निर्दिष्ट करके किसी ऐरे को पॉइंटर पास कर सकते हैं। यदि आप किसी फ़ंक्शन में एक एकल-आयाम सरणी को तर्क के रूप में पास करना चाहते हैं, तो आपको निम्नलिखित तीन तरीकों में से एक मे