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

सी क्यूसोर्ट () बनाम सी ++ सॉर्ट ()

यहां हम देखेंगे कि C में qsort () और C++ में सॉर्ट () में क्या अंतर हैं।

सी qsort() फ़ंक्शन प्रदान करता है, जिसका उपयोग किसी सरणी को सॉर्ट करने के लिए किया जा सकता है। फ़ंक्शन तर्क और सिंटैक्स नीचे जैसा है।

void qsort(void *base, size_t num, size_t size, int (*comparator) (const void*, const void*));

यह फ़ंक्शन उस सरणी का आधार पता लेता है, उस सरणी के तत्वों की संख्या। सरणी में प्रत्येक आइटम का आकार, और एक तुलनित्र फ़ंक्शन।

सी ++ सॉर्ट () फ़ंक्शन प्रदान करता है। यह सी ++ एसटीएल के अंदर मौजूद है। तर्क और वाक्य रचना नीचे की तरह है।

void sort(T first, T last, Compare c);

यहां दोहराए गए तत्वों के क्रम को संरक्षित करने की गारंटी नहीं है। उस उद्देश्य के लिए, हम C++ STL द्वारा प्रदान किए गए स्थिर_सॉर्ट का उपयोग कर सकते हैं।

qsort() और सॉर्ट() के बीच अंतर

qsort() in C C++ में सॉर्ट करें()
यह क्विकसॉर्ट एल्गोरिथम का उपयोग करता है। यह इंट्रोसॉर्ट का उपयोग करता है। यह हाइब्रिड सॉर्टिंग एल्गोरिदम है। यहां विभिन्न कार्यान्वयन विभिन्न एल्गोरिदम का उपयोग करते हैं। GNU C++ STL तीन-भाग हाइब्रिड सॉर्टिंग का उपयोग करता है। इंट्रोसॉर्ट, क्विकॉर्ट और इंसर्शन सॉर्ट।
सी मानक इस सॉर्टिंग एल्गोरिदम की जटिलताओं के बारे में बात नहीं करता है। इस मामले में जटिलता O(n logn) सबसे खराब स्थिति में C++11 सॉर्ट() में है। कुछ पिछले संस्करण सॉर्ट() सबसे खराब स्थिति में O(n2) लेते हैं, और औसत स्थिति में, उन्होंने O(nlogn) लिया।
इस प्रकार का रनिंग टाइम सॉर्ट से बड़ा है() चलने का समय qsort() से कम है।
qsort() विभिन्न प्रकार के डेटा के लिए लचीला नहीं है। सॉर्ट() लचीला है। यह C सरणियों, C++ वैक्टर, C++ डेक और कुछ अन्य कंटेनरों को भी सॉर्ट कर सकता है।
यह प्रकार अधिक सुरक्षित नहीं है। यह डेटा तक पहुंचने के लिए असुरक्षित शून्य बिंदुओं का उपयोग करता है। यह छँटाई तकनीक अधिक सुरक्षित है। डेटा तक पहुँचने के लिए इसे किसी असुरक्षित शून्य सूचक की आवश्यकता नहीं है।

  1. सी ++ में 3-तरफा मर्ज सॉर्ट करें

    मर्ज सॉर्ट में सरणी को 2 भागों में पुनरावर्ती रूप से विभाजित करना, सॉर्ट करना और अंत में उन्हें मर्ज करना शामिल है। मर्ज सॉर्ट के एक प्रकार को 3-वे मर्ज सॉर्ट के रूप में माना जाता है जहां सरणी को 2 भागों में विभाजित करने के बजाय हम इसे 3 भागों में विभाजित करते हैं। मर्ज सॉर्ट, पुनरावर्ती तरीके से स

  1. C++ में बाइनरी इंसर्शन सॉर्ट करें

    बाइनरी इंसर्शन सॉर्ट एक विशेष प्रकार का इंसर्शन सॉर्ट है जो सरणी में सम्मिलित तत्व की सही स्थिति का पता लगाने के लिए बाइनरी सर्च एल्गोरिथम का उपयोग करता है। इंसर्शन सॉर्ट सॉर्टिंग तकनीक है जो ऐरे में एलीमेंट की सही स्थिति का पता लगाकर और फिर उसे उसकी सही स्थिति में इंसर्ट करके काम करती है। द्विआधा

  1. सी ++ में स्ट्रैंड सॉर्ट करें

    इस खंड में हम देखेंगे कि हम सी ++ के मानक पुस्तकालय का उपयोग करके कुछ सरणी या लिंक्ड सूची को कैसे सॉर्ट कर सकते हैं। सी ++ में कई अलग-अलग पुस्तकालय हैं जिनका उपयोग विभिन्न उद्देश्यों के लिए किया जा सकता है। छँटाई उनमें से एक है। C++ फ़ंक्शन std::list::sort() सूची के तत्वों को आरोही क्रम में क्रमबद्