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

C/C++ में तारीखों की सरणी को कैसे सॉर्ट करें?


मान लीजिए हमारे पास तारीखों की एक सरणी है। यहां हम देखेंगे कि C या C++ कोड का उपयोग करके उन्हें कैसे सॉर्ट किया जाए। तारीखों को एक क्लास में संग्रहीत किया जाता है (C में स्ट्रक्चर का भी उपयोग किया जा सकता है)। हम C++ STL के सॉर्ट फंक्शन का उपयोग करेंगे। तारीखों की तुलना के लिए, हमें अपनी खुद की तुलना फंक्शन लिखनी होगी जिसका उपयोग सॉर्ट फंक्शन में किया जाएगा। बेहतर दृश्य के लिए उदाहरण देखें।

उदाहरण

#include <iostream>
#include <algorithm>
using namespace std;

class Date {
public:
    int d, m, y;
};

bool compare(const Date &date1, const Date &date2) {
    if (date1.y < date2.y)
        return true;
    if (date1.y == date2.y && date1.m < date2.m)
        return true;
    if (date1.y == date2.y && date1.m == date2.m && date1.d < date2.d)
        return true;
    return false;
}

void sortDateArray(Date arr[], int n) {
    sort(arr, arr + n, compare);
}

int main() {
    Date arr[] = {{20, 1, 2017},
                  {25, 3, 2010},
                  {3, 12, 1956},
                  {18, 10, 1982},
                  {19, 4, 2011},
                  {9, 7, 2013}};
    int n = sizeof(arr) / sizeof(arr[0]);
    sortDateArray(arr, n);
    cout << "Sorted dates are" << endl;
    for (int i = 0; i < n; i++) {
        cout << arr[i].d << " " << arr[i].m << " " << arr[i].y << endl;
    }
}

आउटपुट

Sorted dates are
3 12 1956
18 10 1982
25 3 2010
19 4 2011
9 7 2013
20 1 2017
  1. - JavaScript में डेट सरणी को कैसे सॉर्ट करें

    मान लीजिए हमारे पास एक सरणी है जिसमें कुछ तिथियाँ हैं: const arr = [ [02/13/2015, 0.096], [11/15/2013, 0.189], [05/15/2014, 0.11], [12/13/2013, 0.1285], [01/15/2013, 0.12], [01/15/2014, 0.11], [02/14/2014, 0.11], [03/14/2014, 0.11], [01/15/2015, 0.096], [07/15/2015, 0.096], [0

  1. Android में सरणी के तत्वों को कैसे सॉर्ट करें? Android में सरणी के तत्वों को कैसे सॉर्ट करें?

    Android में सरणी तत्वों को सॉर्ट करने का पूरा गाइड यह उदाहरण दर्शाता है कि Android में सरणी के तत्वों को कैसे सॉर्ट किया जाता है। यहां बबल सॉर्ट एल्गोरिदम का उपयोग करके मैन्युअल सॉर्टिंग दिखाई गई है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project पर जाएं और नया प्रोजेक्ट बनाने के

  1. C/C++ में मल्टीडायमेंशनल ऐरे का इनिशियलाइज़ेशन C/C++ में मल्टीडायमेंशनल ऐरे का इनिशियलाइज़ेशन

    मल्टीडायमेंशनल ऐरे में, ऐरे का डायमेंशन 1 से अधिक होना चाहिए। निम्नलिखित डायग्राम 3 x 3 x 3 डायमेंशन वाले मल्टीडायमेंशनल ऐरे के लिए मेमोरी आवंटन रणनीति दिखाता है। यह मल्टीडायमेंशनल ऐरे को इनिशियलाइज़ करने के लिए एक C++ प्रोग्राम है। एल्गोरिदम Begin मल्टीडायमेंशनल ऐरे के एलिमेंट्स इनिशियलाइज