"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > एक क्यू इंटरफ़ेस बनाएं

एक क्यू इंटरफ़ेस बनाएं

2024-11-05 को प्रकाशित
ब्राउज़ करें:152
  • वर्ण कतारों के लिए एक इंटरफ़ेस का निर्माण।

  • तीन कार्यान्वयन विकसित किए जाएंगे:

  • निश्चित आकार की रैखिक कतार।

  • वृत्ताकार कतार (सरणी स्थान का पुन: उपयोग करता है)।

  • गतिशील कतार (आवश्यकतानुसार बढ़ती है)।

1 ICharQ.java नामक एक फ़ाइल बनाएं
// कैरेक्टर कतार इंटरफ़ेस।
सार्वजनिक इंटरफ़ेस ICharQ {
// कतार में एक अक्षर डालें।
शून्य पुट(चार ch);
// कतार से एक अक्षर हटाएँ।
चार get();
}

2 IQDemo.java नामक एक फ़ाइल बनाएं।

3 यहां दिखाए गए फिक्स्डक्यू क्लास को जोड़कर IQDemo.java बनाना शुरू करें:

Crie uma interface Queue

4 नीचे दिखाए गए सर्कुलरक्यू क्लास को IQDemo.java में जोड़ें।

Crie uma interface Queue

  • सर्कुलर क्यू ऑपरेशन: तत्वों को हटाते समय सरणी में खाली किए गए स्थान का पुन: उपयोग करता है, जब तक निष्कासन होता है तब तक यह असीमित संख्या में तत्वों को संग्रहीत कर सकता है।

  • सीमा शर्तें: जब सरणी के अंत तक पहुंच जाता है तो कतार भरी नहीं होती है, बल्कि तब होती है जब एक हटाए गए आइटम को एक नए द्वारा ओवरराइट किया जाता है।
    पुट() विधि को यह निर्धारित करने के लिए कई शर्तों की जांच करनी चाहिए कि कतार भरी हुई है या नहीं।

  • क्यू फुल के लिए शर्तें: क्यू फुल है यदि: पुटलोक, गेटलॉक से छोटी इकाई है। पुटलोक सरणी के अंत में है और गेटलॉक शुरुआत में है।

  • खाली कतार की स्थिति: गेटलॉक और पुटलोक बराबर होने पर कतार खाली होती है।

  • सरणी का आकार: जांच की सुविधा के लिए अंतर्निहित सरणी को कतार के आकार से एक इकाई बड़ी बनाई जाती है।

5 नीचे दिखाए गए DynQueue क्लास को IQDemo.java में डालें। यह एक "विस्तार योग्य" कतार लागू करता है जो स्थान समाप्त होने पर अपना आकार बढ़ाता है।

Crie uma interface Queue

  • इस कतार कार्यान्वयन में, जब कतार भर जाती है, तो किसी अन्य तत्व को संग्रहीत करने का प्रयास एक नई अंतर्निहित सरणी को दोगुना बड़ा बनाता है मूल आवंटित किया जाएगा, कतार की वर्तमान सामग्री को इस सरणी में कॉपी किया जाएगा, और नए सरणी का संदर्भ q में संग्रहीत किया जाएगा।

6 ICharQ के तीन कार्यान्वयनों को प्रदर्शित करने के लिए, निम्नलिखित क्लास को IQDemo.java में डालें। यह सभी कतारों तक पहुँचने के लिए ICharQ संदर्भ का उपयोग करता है।

क्लास आईक्यूडेमो {
सार्वजनिक स्थैतिक शून्य main (String [] args[]) {
फिक्स्डक्यू क्यू1 = नया फिक्स्डक्यू(10);
DynQueue q2 = नया DynQueue(5);
सर्कुलरक्यू q3 = नया सर्कुलरक्यू(10);
ICharQ iQ;
चार ch;
int i;
आईक्यू = क्यू1;
// कुछ वर्णों को निश्चित कतार में सम्मिलित करता है।
for(i=0; i iQ.put((char) ('A' i));
// कतार प्रदर्शित करता है।
System.out.print('निश्चित कतार की सामग्री:');
for(i=0; i ch = iQ.get();
System.out.print(ch);
}
System.out.println();
आईक्यू = क्यू2;
// कुछ वर्णों को गतिशील कतार में सम्मिलित करता है।
for(i=0; i iQ.put((char) ('Z' - i));
// कतार प्रदर्शित करता है।
System.out.print("गतिशील कतार की सामग्री:");
for(i=0; i ch = iQ.get();
System.out.print(ch);
}
System.out.println();
आईक्यू = क्यू3;
// कुछ वर्णों को वृत्ताकार कतार में सम्मिलित करता है।
for(i=0; i iQ.put((char) ('A' i));
// कतार प्रदर्शित करता है।
System.out.print('परिपत्र कतार की सामग्री:');
for(i=0; i ch = iQ.get();
System.out.print(ch);
}
System.out.println();
// गोलाकार कतार में और अधिक अक्षर डालें।
for(i=10; i iQ.put((char) ('A' i));
// कतार प्रदर्शित करता है।
System.out.print('परिपत्र कतार की सामग्री:');
for(i=0; i ch = iQ.get();
System.out.print(ch);
}
System.out.println('\nस्टोर और खपत से'
"गोलाकार कतार");
// गोलाकार कतार से वस्तुओं को संग्रहीत और उपभोग करता है।
for(i=0; i iQ.put((char) ('A' i));
ch = iQ.get();
System.out.print(ch);
}
}
}

7 DynQueue का एक गोलाकार संस्करण बनाएं। ICharQ में एक रीसेट() विधि जोड़ें जो कतार को नेट करती है। एक स्थिर विधि बनाएं जो एक कतार प्रकार की सामग्री को दूसरे में कॉपी करती है।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/devsjavagirls/crie-uma-interface-queue-5e0k?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3