Queue एक non-primitive तथा linear डेटा स्ट्रक्चर है और यह FIFO (first in first out) के सिद्धान्त पर कार्य करता है अर्थात वह item जो कि सबसे पहले add किया जाता है वही item सबसे पहले remove किया जायेगा और वह item जो कि सबसे अंत में add किया जाता है उसे अंत में ही remove किया जायेगा।

दूसरे शब्दों में कहें तो, “Queue एक abstract data structure है. यह Stack की तरह ही होता है परन्तु queue में दोनों ends खुले रहते हैं जबकि स्टैक में केवल top end ही खुला रहता है.”

Queue को हम अपनी वास्तविक दुनिया में अक्सर ही प्रयोग करते हुए देखते है, उदाहरण
“रेलवे का उदाहरण लेते है, एक व्यक्ति जो रेलवे में टिकट रिजर्वेशन की लाइन में सबसे पहले लगा होता है और सबसे पहले टिकट लेकर चले जाता है, वह व्यक्ति जो last में लगा हुआ रहता है वह अंत में ही बाहर जायेगा।”

Queue में दो end होते है एक front end होता है तथा दूसरा rear end होता है। Rear end में item को add किया जाता है तथा front end से item को remove किया जाता है।

Operations of Queue

Queue में perform किये जाने वाले operations निम्नलिखित हैं:-

  1. Enqueue – जब हम queue में किसी item या element को add करते हैं तो उस ऑपरेशन को enqueue कहते है.
  2. Dequeue – जब हम queue में से किसी item को delete कर देते हैं तो उसे ऑपरेशन को dequeue कहते हैं.  
  3. Peek – इस ऑपरेशन का प्रयोग queue के front element को प्राप्त करने के लिए किया जाता है और इसमें element को delete नहीं किया जाता.
  4. isEmpty – इसका प्रयोग यह check करने के लिए किया जाता है कि queue खाली है या नहीं. जब queue खाली होता है तो वह underflow condtion को throw करता है.
  5. isFull – इसका प्रयोग यह check करने के लिए किया जाता है कि queue पूरी तरह से full है या नहीं. जब queue पूरी तरह से full होता है तो यह overflow condtion को throw करता है.

Applications of Queue

Queue का प्रयोग निम्नलिखित स्थानों पर किया जाता है:-

  1. इसका प्रयोग Disk scheduling और CPU scheduling के लिए किया जाता है.
  2. इसका प्रयोग synchronization के लिए किया जाता है. उदाहरण के लिए – IO Buffers, pipes, और file IO आदि.
  3. Real time system में interrupt को handle करने के लिए इसका use किया जाता है.
  4. Call center phone system में लोगों की call को एक क्रम में hold करने के लिए इसका use किया जाता है.
  5. Queue का प्रयोग बहुत सारीं applications में buffer की तरह किया जाता है जैसे कि – MP3 Player, CD player आदि.
  6. इसका प्रयोग media player में songs को एक order में add तथा remove करने के लिए किया जाता है.
  7. ऑपरेटिंग सिस्टम में interrupt को handle करने के लिए.

Features of Queue

इसकी विशेषताएं निम्नलिखित हैं:-

  1. Stack की तरह ही, queue भी समान data types के elements का एक ordered list होता है.
  2. यह एक FIFO स्ट्रक्चर है.
  3. queue में किसी नए element को remove करने के लिए हमें उससे पहले insert किये गये सभी elements को remove करना पड़ेगा.
  4. इसमें peek() function का प्रयोग first element की value को return करने के लिए किया जाता है.

Types of Queue – इसके प्रकार

ये चार प्रकार का होता है, जो कि नीचे दिए गये हैं:-

  1. Linear Queue – इसमें, insertion को एक end से किया जाता है और दूसरे end से deletion किया जाता है. वह end जहाँ से insertion किया जाता है उसे rear end कहते है और वह end जहाँ से deletion करते है उसे front end कहते है.

2. Circular Queue – इसमें, सभी nodes को circle के रूप में प्रस्तुत किया जाता है. इसमें last element पहले element के साथ जुडा रहता है. इसे ring buffer भी कहते है. Circular Queue में item को rear end से add किया जाता है तथा item को front end से remove किया जाता है।

3. Priority Queue – यह एक विशेष प्रकार का queue होता है जिसमें प्रत्येक element के साथ एक priority (प्राथमिकता) जुडी रहती है और यह उसी priority के आधार पर कार्य करता है. इसमें जिस element की priority सबसे कम होती है उसे सबसे पहले remove किया जाता है और यदि elements की priority समान होती है तो तब FIFO सिद्धांत के आधार पर elements को arrange किया जाता है.

4. Dequeue – Dequeue का पूरा नाम double-ended queue है। Dequeue एक ऐसा डेटा स्ट्रक्चर है जिसमें हम items को front तथा rear end दोनों से add भी कर सकते है और remove भी कर सकते है।

यह दो प्रकार का होता है:-

  1. Input-restricted Dequeue
  2. Output-restricted Dequeue.

Queue की शर्ते

Queue की निम्नलिखित शर्तें होती है:-

1:- FRONT<0 है तो, Queue खली(रिक्त) है।

2:- REAR=size of Queue है तो, Queue पूरा भरा हुआ होता है।

3:- FRONT<REAR है तो, Queue में कम से कम एक item तो होता ही है।

4:- अगर आपको Queue में कुल item की संख्या जाननी है तो:-( REAR-FRONT)+1.


Leave a Reply