"कतार", या फीफो, सबसे आम डेटा संरचनाओं में से एक है, और कई भाषाओं और ढांचे में मूल कार्यान्वयन है। हालांकि, ऐसा लगता है कि मौलिक कतार संचालन का नाम कैसे होना चाहिए, इस बारे में थोड़ी आम सहमति नहीं है। प्रचलित भाषा के एक सर्वेक्षण बताते हैं:कतार संचालन/एपीआई के लिए शब्दावली/नामकरण सम्मेलन?
- पायथन: पुट/प्राप्त
- सी #, क्यूटी: कतारबद्ध करें/विपंक्ति
- रूबी, सी ++ एसटीडी: धक्का/पॉप
- जावा: जोड़ें/निकालें
अगर किसी को कतार लागू करने की आवश्यकता है (कहें, कुछ एम्बेडेड प्लेटफ़ॉर्म में जो पहले से ही देशी कतार कार्यान्वयन नहीं है), तो नामकरण सम्मेलन सबसे अच्छा होगा? एनक्यू/डेक्यू सबसे स्पष्ट प्रतीत होता है, लेकिन शब्दशः है; डाल/प्राप्त संक्षिप्त है लेकिन संचालन की फीफो प्रकृति के रूप में कोई संकेत नहीं प्रदान करता है; पुश/पॉप कतार संचालन के बजाय स्टैक ऑपरेशंस का सुझाव देने लगता है।
क्यों न सिर्फ बिश() बॉश() भी है: एस टीएओसीपी शायद विवाद समाधान के लिए संदर्भ? –
मेरा मानना है कि लोकप्रिय पसंद 'enqueue (तत्व: तत्व): शून्य 'और' dequeue(): तत्व' है। हालांकि, मैं कई डीएस/एल्गोरिदम कक्षाएं लिखता हूं क्योंकि मैं 'ऐड (एलिमेंट: एलिमेंट)' और 'अगली(): एलिमेंट' जैसी चीजों का उपयोग कर सकता हूं क्योंकि इन विधियों को अन्य डीएस/एल्गोरिदम के बीच भी साझा किया जाता है। ** इस तरह, एक कार्यान्वयनकर्ता को डीएस के आंतरिक के बारे में जानने की आवश्यकता कम होती है और आप SOLID से आसान Liskov प्रतिस्थापन सिद्धांत को नियोजित कर सकते हैं **। अन्यथा, आपको केवल एडाप्टर की आवश्यकता है, लेकिन मैं इसके लिए मानक सम्मेलन को बदलने के लिए हूं। – Cody