Deque क्लास अपने एलिमेंट्स के संग्रह को लागू करने के लिए डबल-लिंक्ड लिस्ट का उपयोग करती है। डबल-लिंक्ड लिस्ट में दो नोड्स होने चाहिए यानी फ्रंट और बैक नोड्स। यह Deque के फ्रंट और बैक पर एलिमेंट्स जोड़ने में मदद करता है।
Deque क्लास के साथ, आपके पास दोनों तरफ से एलिमेंट्स जोड़ने और हटाने की क्षमता होती है। यही कारण है कि Deque को डबल-एंडेड क्यू कहा जाता है।
Deque क्लास में क्यू क्लास में निम्नलिखित मेथड्स होते हैं:
Clear
संग्रह के सभी एलिमेंट्स को क्लियर करता है
Contains
चेक करता है कि कोई ऑब्जेक्ट संग्रह में है या नहीं
ToArray
संग्रह के सभी एलिमेंट्स को ऐरे में कॉपी करने के लिए ToArray() मेथड का उपयोग करें।
Synchronized
संग्रह के लिए सिंक्रोनाइज़्ड रैपर
अतिरिक्त जानकारी
नोट: .NET Framework में System.Collections.Generic.LinkedList<T> क्लास Deque-जैसी कार्यक्षमता प्रदान करती है। मुख्य मेथड्स:
AddFirst(T)- फ्रंट पर जोड़ेंAddLast(T)- बैक पर जोड़ेंRemoveFirst()- फ्रंट से हटाएंRemoveLast()- बैक से हटाएंFirst,Lastप्रॉपर्टीज
उदाहरण: LinkedList का उपयोग करके Deque
using System;
using System.Collections.Generic;
public class DequeDemo
{
public static void Main()
{
var deque = new LinkedList();
deque.AddLast(10); // बैक पर जोड़ें
deque.AddFirst(5); // फ्रंट पर जोड़ें
deque.AddLast(20);
deque.AddFirst(1);
Console.WriteLine("Deque: " + string.Join(", ", deque));
// आउटपुट: 1, 5, 10, 20
Console.WriteLine("फ्रंट: " + deque.First.Value); // 1
Console.WriteLine("बैक: " + deque.Last.Value); // 20
deque.RemoveFirst(); // 1 हटाता है
deque.RemoveLast(); // 20 हटाता है
Console.WriteLine("हटाने के बाद: " + string.Join(", ", deque));
// आउटपुट: 5, 10
}
}
उपयोग के मामले
- स्लाइडिंग विंडो एल्गोरिदम्स
- पैलिंड्रोम चेकिंग
- ब्राउज़र हिस्ट्री (फॉरवर्ड/बैक)
- अनडू/रीडू कार्यक्षमता