कतारें आमतौर पर वास्तविक जीवन में निराशाजनक होती हैं, लेकिन एक कंप्यूटर प्रोग्राम में वे कई समस्याओं को हल कर सकते हैं। पता लगाएँ कि आप क्यू के साथ क्या कर सकते हैं और कैसे।
कतार एक बहुमुखी डेटा संरचना है जिसका उपयोग आप विभिन्न सेटिंग्स में कर सकते हैं। सीपीयू शेड्यूलिंग एल्गोरिदम से लेकर वेब ऐप्स तक, यह हर जगह पाया जाता है।
यदि आप एक पायथन डेवलपर बनने का प्रयास कर रहे हैं, तो यह महत्वपूर्ण है कि आप इस सरल लेकिन सर्वव्यापी डेटा संरचना के साथ गति प्राप्त करें। आइए जानें कि कतार डेटा संरचना क्या है और पायथन में इसे कैसे लागू किया जाए।
कतार डेटा संरचना क्या है?
एक कतार एक रेखीय डेटा संरचना है, जो फर्स्ट-इन-फर्स्ट-आउट (FIFO) सिद्धांत का पालन करती है। इसका मतलब यह है कि, जब आप किसी कतार से कोई तत्व प्राप्त करते हैं, तो आप वह प्राप्त करेंगे जो आपने दूसरों से पहले जोड़ा था।
यहां बुनियादी ऑपरेशन हैं जो आप कतार में कर सकते हैं:
- एन्क्यू: कतार में तत्व जोड़ें।
- Dequeue: कतार से तत्वों को हटा दें।
- प्रिंट: कतार में तत्वों को प्रिंट करें।
- मोर्चा: तत्व को कतार के सामने प्राप्त करें।
- पीछे: कतार के पीछे तत्व प्राप्त करें।
आप पायथन में कतार डेटा संरचना को दो तरीकों से कार्यान्वित कर सकते हैं: संग्रह मॉड्यूल से सूची कंटेनर या डबल-एंडेड कतार का उपयोग करना। इस प्रोग्राम के लिए, आप एक सूची का उपयोग करेंगे।
पायथन में क्यू डेटा स्ट्रक्चर को कैसे लागू करें
आप पायथन में सूची कंटेनर का उपयोग करके एक कतार लागू करेंगे। नाम के साथ एक खाली सूची घोषित करके प्रारंभ करें कतार.
कतार = []
अब आपको उपयोगकर्ता इनपुट स्वीकार करने और उपयोगकर्ता द्वारा दर्ज किए गए ऑपरेशन को करने की आवश्यकता है। सबसे पहले, उपयोगकर्ता को कमांड दर्ज करने के लिए संकेत देने वाली एक पंक्ति का प्रिंट आउट लें। फिर, उपयोगकर्ता इनपुट के लिए प्रतीक्षा करें और इसे स्टोर करें आज्ञा चर।
का उपयोग करते हुए पायथन अगर बयान, उपयोगकर्ता द्वारा दर्ज की गई कमांड के अनुरूप ऑपरेशन करें। अगर वे एक अपरिचित आदेश इनपुट करते हैं, तो प्रोग्राम से बाहर निकलें। इन संक्रियाओं को एक अपरिमित के अंदर रखो घुमाव के दौरान यह सुनिश्चित करने के लिए कि कार्यक्रम तब तक चलता रहे जब तक कि वे बंद न कर दें।
जबकिसत्य:
कमांड = इनपुट ("आप क्या करना चाहते हैं? ")अगर कमांड == "पंक्तिबद्ध":
# कोड
elif कमांड == "डेक्यू":
# कोड
अन्य:
तोड़ना
मुद्रण कतार)
कतारबद्ध करें
अब आप कार्यक्रम के मुख्य नियंत्रण प्रवाह से निपट चुके हैं, आप प्रत्येक ऑपरेशन के लिए कोड ब्लॉक को परिभाषित कर सकते हैं। सबसे पहले, कतारबद्ध करने के लिए कोड लिखें। Enqueue का अर्थ कतार के अंत में एक तत्व सम्मिलित करना है। आप इसका उपयोग करके कर सकते हैं संलग्न () तरीका:
अगरआज्ञा == "पंक्तिबद्ध":
कतारबद्ध = int यहाँ(इनपुट ("पंक्तिबद्ध करने के लिए तत्व दर्ज करें:"))
विपंक्ति
अब, कतार से किसी तत्व को विपंक्ति करने के लिए कोड लिखें। आप इसे इंडेक्स के रूप में 0 के साथ पॉप विधि का उपयोग करके कर सकते हैं। क्यों? जैसा कि आपने पहले सीखा था, एक कतार FIFO के आदेश का पालन करती है, इसलिए आपके द्वारा कतारबद्ध किया गया पहला तत्व वह पहला तत्व होना चाहिए जिसे आप कतार से हटाते हैं।
अगर कमांड == "डेक्यू":
कतार पॉप (0)
सामने
आगे बढ़ते हुए, कतार के सामने वाले तत्व को प्रिंट करने के लिए कोड लिखें। बस क्यू के 0वें इंडेक्स का प्रिंट आउट लें।
अगर कमांड == "सामने":
मुद्रण कतार[0])
पिछला
फ्रंट ऑपरेशन के लिए कोड की तरह, पिछला ऑपरेशन करने के लिए अंतिम इंडेक्स पर तत्व प्रिंट करें। ऐसा करने के लिए पहले क्यू पर लेन () फ़ंक्शन का उपयोग करें और फिर अंतिम इंडेक्स को खोजने के लिए इसमें से 1 घटाएं।
अगर कमांड == "पिछला":
प्रिंट (कतार [लेन (कतार) - 1])
छाप
अंत में, प्रिंट कमांड के लिए कोड लिखें। केवल पायथन के मानक का उपयोग करके सूची का प्रिंट आउट लें प्रिंट () समारोह।
अगर कमांड == "प्रिंट":
मुद्रण कतार)
यदि उपयोगकर्ता द्वारा दर्ज किया गया पाठ समर्थित कमांड से मेल नहीं खाता है, तो ब्रेक स्टेटमेंट का उपयोग करते हुए लूप से बाहर निकलें। अंतिम कोड इस तरह दिखना चाहिए:
कतार = []
जबकिसत्य:
कमांड = इनपुट ("तुम क्या करना चाहते हो?\n")अगर कमांड == "पंक्तिबद्ध":
कतारबद्ध = int (इनपुट ("पंक्तिबद्ध करने के लिए तत्व दर्ज करें:"))
क्यू.एपेंड (एनक्यू)
elif कमांड == "डेक्यू":
कतार पॉप (0)
elif कमांड == "प्रिंट":
मुद्रण कतार)
elif कमांड == "सामने":
मुद्रण कतार[0])
elif कमांड == "पिछला":
प्रिंट (कतार [लेन (कतार)-1])
अन्य:
तोड़ना
मुद्रण कतार)
विभिन्न कतार संचालनों को आज़माने के लिए प्रोग्राम चलाएँ। प्रिंट कमांड का उपयोग यह देखने के लिए करें कि वे आपकी कतार को कैसे प्रभावित करते हैं। अब आपने पायथन में अपना सरल कतार कार्यान्वयन बना लिया है।
कतार कई उपयोगी डेटा संरचनाओं में से एक है
डेटा संरचना की अवधारणा एक महत्वपूर्ण अवधारणा है जिसे प्रत्येक कंप्यूटर विज्ञान के छात्र को सीखना चाहिए। संभावना है कि आप पहले से ही कुछ बुनियादी डेटा संरचनाओं जैसे सरणियों या सूचियों के साथ सीख या काम कर सकते हैं।
साक्षात्कारकर्ता डेटा संरचनाओं से संबंधित प्रश्न भी पूछते हैं, इसलिए यदि आप एक उच्च भुगतान वाली प्रोग्रामिंग नौकरी की तलाश कर रहे हैं, तो आपको अपने डेटा संरचनाओं के ज्ञान पर ब्रश करने की आवश्यकता होगी।