दुर्भाग्य सूची देखने के लिए नहीं है, आप नहीं कर सकते सीधे सादे पुराने .NET Queue
ऑब्जेक्ट का उपयोग करें। कतार "अंधे" पहले-इन-फर्स्ट-आउट तर्क के लिए बनाई गई है, ताकि आप कुछ और नहीं कर सकें।
तुम सच में एक कतार है जिसमें आप तत्वों का पता लगाने और उनकी स्थिति (एक बहुत उपयोगी बात) प्राप्त कर सकते हैं एक वर्ग है कि निम्न विधियों को उजागर करता है में सब कुछ लपेटो करने की कोशिश को लागू करने की जरूरत है:
public class CustomQueue<T> {
private LinkedList<T> fifoList = new LinkedList<T>();
public Enqueue(T newItem) {
//add newItem at the head of fifoList
}
public T Dequeue() {
//return and remove the item that is located at the tail of the queue
}
public int indexOf(T searchFor) {
int ret = 0;
for (T item: fifoList) {
if (item.equals(searchFor)) return ret;
ret++;
}
}
}
बेहतर के लिए प्रदर्शन (कतार और विपंक्ति हे (1), जबकि indexOf हे (एन)) आप एक डबल-लिंक्ड सूची
स्रोत
2012-03-25 18:37:05
यह एक कामकाजी समाधान है, लेकिन सवाल के लिए यह एक और जवाब है: कतार को एक सूची में कैसे रखा जाए ताकि मैं इंडेक्सऑफ विधि को कॉल कर सकूं? –
दरअसल, लेकिन कतार सूचकांक को वापस करने के लिए एक इंटरफ़ेस प्रदान नहीं करती है, इसलिए यह एक समझौता समाधान है – ionden
मैं ठीक हूं, लेकिन यदि संभव हो तो इसे दूसरे विचार की आवश्यकता है, –