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

C . में qsort () का तुलनित्र कार्य

सी में, हमें qsort() फ़ंक्शन मिलता है। इसका उपयोग Quicksort तकनीक का उपयोग करके कुछ सरणी को सॉर्ट करने के लिए किया जाता है। इस फ़ंक्शन में हमें तुलनित्र फ़ंक्शन को पास करना होगा। यह तुलनित्र फ़ंक्शन दो तर्क लेता है। फिर उनकी तुलना करें और उनके बीच सापेक्ष क्रम प्राप्त करें। ये दो तर्क पॉइंटर्स हैं, और टाइप करें कास्ट शून्य *। सिंटैक्स नीचे जैसा है -

int comparator(const void* p1, const void* p2);

वापसी मान तीन प्रकार के होते हैं -

  • 0 से कम। p1 द्वारा इंगित किया गया तत्व दूसरे से पहले जाएगा।
  • 0 के बराबर। दो मान समान हैं।
  • 0 से बड़ा। p1 द्वारा इंगित किया गया तत्व दूसरे के बाद जाएगा

उदाहरण

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct {
   char title[50];
   int pages;
   float price;
}
book;
int compareBook(book b1, book b2){
   if(b1.price < b2.price){
      return 0;
   }
   return 1;
}
main() {
   int i;
   book book_arr[5];
   strcpy(book_arr[0].title, "C Programming");
   book_arr[0].pages = 260;
   book_arr[0].price = 450;
   strcpy(book_arr[1].title, "DBMS Guide");
   book_arr[1].pages = 850;
   book_arr[1].price = 775;
   strcpy(book_arr[2].title, "Learn C++");
   book_arr[2].pages = 350;
   book_arr[2].price = 520;
   strcpy(book_arr[3].title, "Data Structures");
   book_arr[3].pages = 380;
   book_arr[3].price = 430;
   strcpy(book_arr[4].title, "Learn Python");
   book_arr[4].pages = 500;
   book_arr[4].price = 300;
   qsort((void*)book_arr, 5, sizeof(book_arr[0]), compareBook);
   for(i = 0; i<5; i++) {
      printf("%s\t\t%d\t\t%f\n",book_arr[i].title, book_arr[i].pages, book_arr[i].price);
   }
}

आउटपुट

Learn Python             500       300.000000
Data Structures          380       430.000000
C Programming            260       450.000000
Learn C++                350       520.000000
DBMS Guide               850       775.000000

  1. सी ++ में स्वैप () फ़ंक्शन

    स्वैप () फ़ंक्शन का उपयोग दो नंबरों को स्वैप करने के लिए किया जाता है। इस फ़ंक्शन का उपयोग करके, आपको दो नंबरों को स्वैप करने के लिए किसी तीसरे चर की आवश्यकता नहीं है। यहाँ C++ भाषा में स्वैप () का सिंटैक्स दिया गया है, void swap(int variable_name1, int variable_name2); यदि हम वेरिएबल को मान असाइन

  1. पीएचपी पीआई () समारोह

    परिभाषा और उपयोग पाई () फ़ंक्शन गणितीय स्थिरांक का मान लौटाता है। यह एक फ्लोट मान 3.14159265359 देता है जो PHP में परिभाषित पूर्वनिर्धारित स्थिरांक के बराबर है - M_PI सिंटैक्स pi ( void ) : float पैरामीटर इस फ़ंक्शन के लिए किसी पैरामीटर की आवश्यकता नहीं है रिटर्न वैल्यू PHP pi() फ़ंक्शन गणितीय

  1. पायथन पांडा - पांडस डेटाफ्रेम पूंछ () फ़ंक्शन का उपयोग कैसे करें

    30000 से 70000 के बीच मूल्य कॉलम मूल्य खोजने के लिए एक पायथन कोड लिखें और products.csv से अंतिम तीन पंक्तियों के आईडी और उत्पाद कॉलम प्रिंट करें। फ़ाइल। डाउनलोड करें यहां products.csv फ़ाइल है। 30000 से 70000 के बीच मूल्य कॉलम मूल्य और आईडी और उत्पाद कॉलम अंतिम तीन पंक्तियों के परिणाम हैं -