यहां हम देखेंगे कि C++ में स्ट्रक्चर के सदस्य वेरिएबल्स पर कुछ शर्त का उपयोग करके कैसे सॉर्ट करें। इस उदाहरण में हम book नामक एक स्ट्रक्चर लेंगे। book नाम, पेज की संख्या, और कीमत रखेगा। हम उन्हें कीमत के आधार पर सॉर्ट करेंगे।
दो स्ट्रक्चर की तुलना करने के लिए, हमें एक फंक्शन परिभाषित करना होगा। यह फंक्शन इन पैरामीटर्स के साथ उनकी तुलना करेगा। यह तुलना फंक्शन सॉर्ट फंक्शन के अंदर मानों को सॉर्ट करने के लिए उपयोग किया जाता है।
उदाहरण
#include <iostream> #include<algorithm> using namespace std; struct book { string title; int pages; float price; }; bool compareBook(book b1, book b2) { if(b1.price < b2.price) { return true; } return false; } main() { book book_arr[5]; book_arr[0].title = "C Programming"; book_arr[0].pages = 260; book_arr[0].price = 450; book_arr[1].title = "DBMS Guide"; book_arr[1].pages = 850; book_arr[1].price = 775; book_arr[2].title = "Learn C++"; book_arr[2].pages = 350; book_arr[2].price = 520; book_arr[3].title = "Data Structures"; book_arr[3].pages = 380; book_arr[3].price = 430; book_arr[4].title = "Learn Python"; book_arr[4].pages = 500; book_arr[4].price = 300; sort(book_arr, book_arr + 5, compareBook); for(int i = 0; i<5; i++) { cout << book_arr[i].title << "\t\t" << book_arr[i].pages << "\t\t" << book_arr[i].price << endl; } }
आउटपुट
Learn Python 500 300 Data Structures 380 430 C Programming 260 450 Learn C++ 350 520 DBMS Guide 850 775