Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में सरणी का उपयोग करके कतार (Queue) का कार्यान्वयन


कतार क्या है?

कतार एक रैखिक डेटा संरचना है जो FIFO (पहले अंदर, पहले बाहर) सिद्धांत का पालन करती है।

सरणी कार्यान्वयन

दो पॉइंटर्स: front (हटाने के लिए) और rear (जोड़ने के लिए)।

  • Enqueue: rear पर तत्व जोड़ें, rear++
  • Dequeue: front से तत्व हटाएं, सभी तत्वों को बाएं शिफ्ट करें, rear--
  • Overflow: rear == क्षमता
  • Underflow: front == rear

उदाहरण कोड

#include <bits/stdc++.h>
using namespace std;

struct Queue {
    int front, rear, capacity;
    int* queue;
    
    Queue(int c) {
        front = rear = 0;
        capacity = c;
        queue = new int[c];
    }
    ~Queue() { delete[] queue; }
    
    void Enqueue(int data) {
        if (capacity == rear) {
            cout << "\nQueue is full\n";
            return;
        }
        queue[rear] = data;
        rear++;
    }
    
    void Dequeue() {
        if (front == rear) {
            cout << "\nQueue is empty\n";
            return;
        }
        for (int i = 0; i < rear - 1; i++)
            queue[i] = queue[i + 1];
        rear--;
    }
    
    void Display() {
        if (front == rear) {
            cout << "\nQueue is Empty\n";
            return;
        }
        for (int i = front; i < rear; i++)
            cout << queue[i] << " <-- ";
    }
    
    void Front() {
        if (front == rear) {
            cout << "\nQueue is Empty\n";
            return;
        }
        cout << "\nFront Element is: " << queue[front];
    }
};

int main() {
    Queue q(4);
    q.Display();
    q.Enqueue(12);
    q.Enqueue(89);
    q.Enqueue(65);
    q.Enqueue(34);
    q.Display();
    q.Enqueue(92); // Overflow
    q.Display();
    q.Dequeue();
    q.Dequeue();
    q.Display();
    q.Front();
    return 0;
}

आउटपुट

Queue is Empty
12 <-- 89 <-- 65 <-- 34 <--
Queue is full
12 <-- 89 <-- 65 <-- 34 <--
65 <-- 34 <--
Front Element is: 65
  1. जावास्क्रिप्ट में क्यू का कार्यान्वयन जावास्क्रिप्ट में क्यू का कार्यान्वयन

    जावास्क्रिप्ट में क्यू को लागू करने का कोड निम्नलिखित है। उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document</title> <style>    body { &nb

  1. - C++ में सॉर्टिंग

    इस सेक्शन में हम देखेंगे कि C++ में सॉर्टिंग एल्गोरिदम कैसे निष्पादित करें। एक सॉर्टेड ऐरे एक ऐरे है जिसमें प्रत्येक एलिमेंट किसी क्रम में सॉर्टेड होते हैं जैसे न्यूमेरिकल, अल्फाबेटिकल आदि। एक न्यूमेरिकल ऐरे को सॉर्ट करने के लिए कई एल्गोरिदम हैं जैसे बबल सॉर्ट, इन्सर्शन सॉर्ट, सिलेक्शन सॉर्ट, मर्ज स

  1. - C++ प्रोग्राम: ऐरे का उपयोग करके क्यू कार्यान्वयन

    ऐरे आधारित क्यू क्यू FIFO सिद्धांत का पालन करती है। ऐरे कार्यान्वयन में निश्चित आकार की सरणी और front/rear सूचकांक का उपयोग किया जाता है। C++ प्रोग्राम उदाहरण rear) { cout << Queue Underflow << endl; return; } else { cout << Element deleted: <<