Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C भाषा का प्रयोग करके किसी कतार में किसी तत्व को हटाने की व्याख्या करें

डेटा संरचना संरचित तरीके से व्यवस्थित डेटा का संग्रह है। इसे नीचे बताए अनुसार दो प्रकारों में बांटा गया है -

  • रैखिक डेटा संरचना - डेटा को एक रेखीय तरीके से व्यवस्थित किया जाता है। उदाहरण के लिए, सरणियाँ, संरचनाएँ, ढेर, कतारें, लिंक्ड सूचियाँ।

  • गैर-रेखीय डेटा संरचना - डेटा को एक श्रेणीबद्ध तरीके से व्यवस्थित किया जाता है। उदाहरण के लिए, पेड़, ग्राफ, सेट, टेबल।

कतार

यह एक रेखीय डेटा संरचना है, जहां सम्मिलन पीछे के छोर पर किया जाता है और विलोपन सामने के छोर पर किया जाता है।

C भाषा का प्रयोग करके किसी कतार में किसी तत्व को हटाने की व्याख्या करें

कतार का क्रम है फीफो - फर्स्ट इन फर्स्ट आउट

ऑपरेशन

  • सम्मिलित करें - एक कतार में एक तत्व सम्मिलित करना।
  • हटाएं - कतार से किसी तत्व को हटाना।

शर्तें

  • क्यू ओवर फ्लो - एक एलिमेंट को पूरी क्यू में डालने की कोशिश कर रहा है।

  • प्रवाह के तहत कतार - एक खाली कतार से एक तत्व को हटाने की कोशिश कर रहा है।

एल्गोरिदम

सम्मिलन के लिए एक एल्गोरिथम नीचे दिया गया है ( ) -

  • कतार ओवरफ्लो की जांच करें।
if (r==n)
printf ("Queue overflow")
  • अन्यथा, कतार में एक तत्व डालें।
q[r] = item
r++

हटाने ( ) . के लिए एक एल्गोरिथम नीचे दिया गया है -

  • प्रवाह के तहत कतार की जांच करें।
if (f==r)
printf ("Queue under flow")
  • अन्यथा, कतार से किसी तत्व को हटा दें।
item = q[f]
f++

डिस्प्ले ( ) . के लिए एल्गोरिथम नीचे दिया गया है -

  • जांचें कि कतार खाली है या नहीं।
if (f==r)
printf("Queue is empty")
  • अन्यथा, सभी तत्वों को 'f' से 'r' तक प्रिंट करें।
for(i=f; i<r; i++)
printf ("%d", q[i]);

कार्यक्रम

कतार में एक तत्व को हटाने के लिए सी कार्यक्रम निम्नलिखित है -

#include <stdio.h>
#define MAX 50
void insert();
int array[MAX];
int rear = - 1;
int front = - 1;
main(){
   int add_item;
   int choice;
   while (1){
      printf("1.Insert element to queue \n");
      printf("2.Delete an element from queue\n");
      printf("3.Display elements of queue \n");
      printf("4.Quit \n");
      printf("Enter your choice : ");
      scanf("%d", &choice);
      switch (choice){
         case 1:
            insert();
         break;
         case 2:
            delete();
         case 3:
            display();
         break;
         case 4:
            exit(1);
         default:
         printf("Wrong choice \n");
      }
   }
}
void insert(){
   int add_item;
   if (rear == MAX - 1)
      printf("Queue Overflow \n");
   else{
      if (front == - 1)
      /*If queue is initially empty */
      front = 0;
      printf("Inset the element in queue : ");
      scanf("%d", &add_item);
      rear = rear + 1;
      array[rear] = add_item;
   }
}
void display(){
   int i;
   if (front == - 1)
      printf("Queue is empty \n");
   else{
      printf("Queue is : \n");
      for (i = front; i <= rear; i++)
         printf("%d ", array[i]);
         printf("\n");
   }
}
void delete(){
   if (front == - 1 || front > rear){
      printf("Queue Underflow \n");
      return ;
   }
   else{
      printf("Element deleted from queue is : %d\n",array[front]);
      front = front + 1;
   }
}

आउटपुट

जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

1.Insert element to queue
2.Delete an element from queue
3.Display elements of queue
4.Quit
Enter your choice: 1
Inset the element in queue: 12
1.Insert element to queue
2.Delete an element from queue
3.Display elements of queue
4.Quit
Enter your choice: 1
Inset the element in queue: 23
1.Insert element to queue
2.Delete an element from queue
3.Display elements of queue
4.Quit
Enter your choice: 1
Inset the element in queue: 34
1.Insert element to queue
2.Delete an element from queue
3.Display elements of queue
4.Quit
Enter your choice: 2
Element deleted from queue is: 12
Queue is:
23 34
1.Insert element to queue
2.Delete an element from queue
3.Display elements of queue
4.Quit
Enter your choice: 2
Element deleted from queue is: 23
Queue is:
34
1.Insert element to queue
2.Delete an element from queue
3.Display elements of queue
4.Quit
Enter your choice: 4

  1. सी भाषा में पॉइंटर्स का उपयोग करके अंकगणितीय संचालन की व्याख्या करें?

    पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल के एड्रेस को स्टोर करता है। सूचक घोषणा, आरंभीकरण और पहुंच निम्नलिखित कथन पर विचार करें - int qty = 179; सूचक घोषित करना int *p; p एक पॉइंटर वेरिएबल है जो दूसरे इंटीजर वेरिएबल का पता रखता है। सूचक का प्रारंभ एड्रेस ऑपरेटर (&) का उपयोग पॉइंटर वेरिएबल को इनिशि

  1. C भाषा में स्विच स्टेटमेंट की व्याख्या करें

    इसका उपयोग कई निर्णयों में से एक को चुनने के लिए किया जाता है। स्विच क्रमिक रूप से पूर्णांकों (या) वर्ण स्थिरांक की सूची के विरुद्ध एक मान का परीक्षण करता है। जब कोई मिलान मिलता है, तो उस मान से जुड़े कथन (या) कथन निष्पादित होते हैं। सिंटैक्स सिंटैक्स नीचे दिया गया है - switch (expression){  

  1. संरचना अवधारणा का उपयोग करके सी भाषा में बिट फ़ील्ड की व्याख्या करें

    बिट फ़ील्ड का उपयोग बिट्स के संदर्भ में चर के आकार को निर्दिष्ट करने के लिए किया जाता है। आम तौर पर, इसे एक संरचना के अंदर परिभाषित किया जाता है। बिट फ़ील्ड:1 बाइट=8 बिट उदाहरण के लिए, एक उदाहरण नीचे समझाया गया है - Struct info{    int x:2; }; यहाँ, x 2बिट्स पर कब्जा कर रहा है। किसी