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

सी ++ में कतार का ऐरे कार्यान्वयन

क्यू एक रैखिक डेटा संरचना है जिसमें संचालन का क्रम फीफो (फर्स्ट इन फर्स्ट आउट) है।

सरणी एक डेटा संरचना है जिसमें समान डेटा प्रकार के तत्व होते हैं, जो निरंतर स्मृति स्थान में संग्रहीत होते हैं।

कतार में सम्मिलन और विलोपन संचालन कतार के विपरीत छोर पर किया जाता है। स्टैक की तुलना में कार्यान्वयन थोड़ा अधिक जटिल है।

कतार के सरणी कार्यान्वयन में, हम दो चर शीर्ष और अंत के साथ आकार n की एक सरणी कतार बनाते हैं।

अब, प्रारंभ में, सरणी खाली है यानी शीर्ष और अंत दोनों सरणी के 0 अनुक्रमणिका पर हैं। और जैसे ही तत्वों को क्यू में जोड़ा जाता है (सम्मिलन) अंतिम चर का मान बढ़ा दिया गया है। अंत का मान n यानी किसी सरणी की अधिकतम लंबाई तक बढ़ सकता है।

जब तत्वों को क्यू से हटाना हो (हटाना) , शीर्ष चर का मान बढ़ जाता है। शीर्ष का मूल्य अंत के मूल्य तक जा सकता है।

कतार संचालन का कार्यान्वयन

एनक्यू - यह कतार में तत्वों को जोड़ने का ऑपरेशन है। कतार में तत्वों को जोड़ने से पहले, हम जांच करेंगे कि कतार भरी हुई है या नहीं। इसे जांचने की शर्त समाप्त होती है, यदि यह n से कम है तो हम तत्वों को कतार [अंत] पर संग्रहीत कर सकते हैं। और अंत को 1 से बढ़ाएं।

एक अतिप्रवाह स्थिति तब होती है जब सरणी भर जाती है यानी अंत ==n।

डेक्यू - यह कतार के तत्वों को हटाने का कार्य है। कतार के तत्वों को हटाने से पहले, हम जांच करेंगे कि कतार खाली है या नहीं। यह जांचने की शर्त है कि कतार खाली है या नहीं, शीर्ष और अंत के मूल्यों की जाँच की जाती है। यदि शीर्ष ==अंत सरणी से खाली है।

यदि तत्व हैं तो हम सरणी को हटा देंगे। सरणी के बाईं ओर सभी तत्वों को एक-एक करके स्थानांतरित करके।

सामने - कतार के पहले तत्व यानी सरणी [शीर्ष] को निकालना। यह ऑपरेशन केवल तभी किया जा सकता है जब सरणी खाली न हो।

प्रदर्शन - यह ऑपरेशन कतार के सभी तत्वों को प्रदर्शित करता है। यानी कतार को पार करता है।

एल्गोरिदम

ENQUEUE :
Step 1 : if (end == n), print : “OVERFLOW”. Exit
Step 2 : queue[end] = data and end++
DEQUEUE :
Step 1 : If (top == 0), print : “empty Queue”. Exit
Step 2 : shift all elements one position left. End-- ;

उदाहरण

#include <bits/stdc++.h>
using namespace std;
struct Queue {
   int top, end, n;
   int* queue;
   Queue(int c){
      top = end = 0;
      n = c;
      queue = new int;
   }
   ~Queue() { delete[] queue;
}
void Enqueue(int data){
   if (n == end) {
      printf("\nQueue is full\n");
      return;
   }
   else {
      queue[end] = data;
      end++;
   }
   return;
}
void Dequeue(){
   if (top == end) {
      printf("\nQueue is empty\n");
      return;
   }
   else {
      for (int i = 0; i < end - 1; i++) {
         queue[i] = queue[i + 1];
      }
      end--;
   }
   return;
}
void Display(){
   int i;
   if (top == end) {
      printf("\nQueue is Empty\n");
      return;
   }
   for (i = top; i < end; i++) {
      printf(" %d <-- ", queue[i]);
   }
   return;
}
void Front(){
   if (top == end) {
      printf("\nQueue is Empty\n");
      return;
   }
   printf("\nFront Element is: %d", queue[top]);
   return;
}
};
int main(void){
   Queue q(4);
   q.Display();
   q.Enqueue(12);
   q.Enqueue(89);
   q.Enqueue(65);
   q.Enqueue(34);
   q.Display();
   q.Enqueue(92);
   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. जावास्क्रिप्ट में कतार का कार्यान्वयन

    जावास्क्रिप्ट में क्यू को लागू करने के लिए कोड निम्नलिखित है। उदाहरण दस्तावेज़ बॉडी { फॉन्ट-फ़ैमिली:सेगो यूआई, ताहोमा, जिनेवा, वर्दाना, सेन्स-सेरिफ़; } .result {फ़ॉन्ट-आकार:18पीएक्स; फ़ॉन्ट-वजन:500; रंग:नीला बैंगनी; } बटन {पैडिंग:6px; मार्जिन:4px; }जावास्क्रिप्ट में क्यू का क्रियान्वयन।EnqueueDequeu

  1. सी++ में छँटाई

    इस खंड में हम देखेंगे कि C++ में सॉर्टिंग एल्गोरिथम कैसे किया जाता है। एक क्रमबद्ध सरणी एक सरणी है जिसमें प्रत्येक तत्व को किसी क्रम में क्रमबद्ध किया जाता है जैसे संख्यात्मक, वर्णानुक्रम आदि। संख्यात्मक सरणी को सॉर्ट करने के लिए कई एल्गोरिदम हैं जैसे कि बबलसॉर्ट, इंसर्शन सॉर्ट, सेलेक्शन सॉर्ट, मर्ज

  1. सी ++ प्रोग्राम ऐरे का उपयोग करके कतार को लागू करने के लिए

    एक कतार एक सार डेटा संरचना है जिसमें तत्वों का संग्रह होता है। कतार लागू करता हैफीफो तंत्र यानी पहले डाला गया तत्व भी पहले हटा दिया जाता है। दूसरे शब्दों में, हाल ही में जोड़े गए कम से कम तत्व को कतार में सबसे पहले हटा दिया जाता है। एक प्रोग्राम जो एक सरणी का उपयोग करके कतार को लागू करता है, वह इस