Data Structures in Hindi : Queue Deletion

Queue Deletion

  • Introduction to queue deletion operation in Hindi
  • Example of queue deletion operation in Hindi

Introduction to Queue Deletion

जब queue में से किसी element को remove किया जाता है तो वह operation deletion कहलाता है। Queue में किसी भी element का deletion front से होता है। Queue में बीच में deletion operation perform नहीं किया जाता है। ऐसा इसलिए होता है क्योंकि queue data structure First in First Out structure को follow करता है।

Queue को define करते समय front और rear variables भी define किये जाते है। जब भी queue में से कोई element remove किया जाता है तो front variable की value change होती है।

Queue में से element को remove करते समय सबसे पहले यह check किया जाता है की कँही queue empty तो नहीं है। यदि deletion करते समय queue empty पायी जाती है तो वह condition queue overflow कहलाती है। ऐसी situation में user को appropriate message show किया जाना चाहिए।

Queue empty है या नहीं यह check करने के लिए आप इस प्रकार code लिखेंगे।

if(front == -1 && rear == -1)
{
   printf("Queue is empty. No item to delete.");
}

यदि queue empty नहीं है तो element को front से remove किया जाएगा। इसके लिए सबसे पहले front को NULL value assign की जायेगी। क्योंकि front variable queue के first element को represent करता है। इसलिए ऐसा करने से वह element delete हो जाता है। ऐसा आप इस प्रकार करेंगे।

q[front] = NULL;

Queue के front को NULL value assign करने के बाद front की value को increase किया जाता है। ऐसा करने से second element front (first element) बन जाता है। ऐसा आप इस प्रकार करेंगे।

front = front+1;

यह जरुरी नहीं है की front की value हर बार increase ही हो। यदि queue में सिर्फ एक ही element है तो front और rear दोनों वही होगा। ऐसे में front की value को increase नहीं किया जा सकता है। इस situation में front और rear की value को -1 assign किया जाएगा।

Example of Queue Deletion 

Queue deletion operation को निचे उदाहरण द्वारा समझाया जा रहा है। 

#include<stdio.h>

#define MAX 5
int queue[MAX];
int front = -1;
int rear = -1;
int i;

void main()
{
   void queueInsertion(int data)
   {
       if(front == -1 && rear == -1)
       {
           front = 0;
           rear = 0;

           queue[rear] = data;

           return;
        }
       
         if(front == 0 && rear == MAX-1)
         {
            printf("Queue is full");
            return; 
         }

         rear = rear +1;
         queue[rear] = data;
   }

    queueInsertion(1);
    queueInsertion(2);
    queueInsertion(3);
    queueInsertion(4);
    queueInsertion(5);

    printf("Queue elements before deletion are: \n");
    for(i=0;i<MAX;i++)
    {
        printf("%d\n",queue[i]);
    }

    void queueDeletion()
    {
        if(front == -1 && rear == -1)
        {
           printf("Queue is empty");
           return;
        }
        queue[front] = NULL;
     
        if(front == rear)
        {
            front = rear = -1;
        }
        else
        {
            front = front + 1;
        }
    }

     queueDeletion();
 
     printf("Queue elements after deletion are: \n");
     for(i=front;i<MAX;i++)
     {
         printf("%d\n",queue[i]);
     }

}

ऊपर दिया गया उदाहरण निचे दिया गया output generate करता है।

Queue elements before deletion are:
1
2
3
4
5
Queue elements after deletion are:
2
3
4
5

      DMCA.com Protection Status

 Leave a comment