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

C++ में ऐरे सॉर्ट करना (Sort an Array)


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

समाधान दृष्टिकोण (क्विकसॉर्ट)

  1. partition() विधि: पिवट चुनें, तत्वों को पुनर्व्यवस्थित करें

  2. sortArr() विधि: रिकर्सिवली बाएं और दाएं भाग सॉर्ट करें

  3. मुख्य विधि से sortArr(0, n-1) कॉल करें

C++ कार्यान्वयन

#include <bits/stdc++.h> 
using namespace std; 

void print_vector(vector<int> 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; 
    } 
}; 

int main(){ 
    vector<int> v1 = {5,2,3,1}; 
    Solution ob; 
    print_vector(ob.sortArray(v1)); 
    return 0; 
}

इनपुट

[5,2,3,1]

आउटपुट

[1,2,3,5]
  1. - C++ प्रोग्राम: काउंटिंग सॉर्ट लागू करना

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

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

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

  1. - C++ फ़ंक्शन में ऐरे पास करना

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