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

C भाषा का उपयोग करके क्यू में एलिमेंट डिलीट करना समझाना

डेटा स्ट्रक्चर संरचित तरीके से व्यवस्थित डेटा का संग्रह है। इसे दो प्रकारों में विभाजित किया गया है:

  • लीनियर डेटा स्ट्रक्चर - डेटा लीनियर फैशन में व्यवस्थित है। उदाहरण: ऐरे, स्ट्रक्चर्स, स्टैक्स, क्यूज, लिंक्ड लिस्ट।
  • नॉन-लीनियर डेटा स्ट्रक्चर - डेटा हायरार्किकल तरीके से व्यवस्थित है। उदाहरण: ट्रीज, ग्राफ्स, सेट्स, टेबल्स।

क्यू

यह एक लीनियर डेटा स्ट्रक्चर है, जहां इन्सर्शन रियर एंड पर किया जाता है और डिलीशन फ्रंट एंड पर किया जाता है।

क्यू का क्रम FIFO - फर्स्ट इन फर्स्ट आउट है।

ऑपरेशन्स

  • इन्सर्ट - क्यू में एक एलिमेंट इन्सर्ट करना।
  • डिलीट - क्यू से एक एलिमेंट डिलीट करना।

शर्तें

  • क्यू ओवरफ्लो - भरे हुए क्यू में एलिमेंट इन्सर्ट करने का प्रयास।
  • क्यू अंडरफ्लो - खाली क्यू से एलिमेंट डिलीट करने का प्रयास।

एल्गोरिथ्म

इन्सर्शन () के लिए एल्गोरिथ्म:

  • क्यू ओवरफ्लो की जांच करें।
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]);

प्रोग्राम

क्यू में एलिमेंट डिलीट करने का C प्रोग्राम:

#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. क्यू में एलिमेंट इन्सर्ट करें \n");
        printf("2. क्यू से एलिमेंट डिलीट करें\n");
        printf("3. क्यू के एलिमेंट्स डिस्प्ले करें \n");
        printf("4. छोड़ें \n");
        printf("अपना विकल्प दर्ज करें: ");
        scanf("%d", &choice);
        switch (choice) {
            case 1:
                insert();
                break;
            case 2:
                delete();
                break;
            case 3:
                display();
                break;
            case 4:
                exit(1);
            default:
                printf("गलत विकल्प \n");
        }
    }
}

void insert() {
    int add_item;
    if (rear == MAX - 1)
        printf("Queue Overflow \n");
    else {
        if (front == -1)
            /* यदि क्यू प्रारंभ में खाली है */
            front = 0;
        printf("क्यू में एलिमेंट इन्सर्ट करें: ");
        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 है: \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("क्यू से डिलीट किया गया एलिमेंट है: %d\n", array[front]);
        front = front + 1;
    }
}

आउटपुट

1. क्यू में एलिमेंट इन्सर्ट करें
2. क्यू से एलिमेंट डिलीट करें
3. क्यू के एलिमेंट्स डिस्प्ले करें
4. छोड़ें
अपना विकल्प दर्ज करें: 1
क्यू में एलिमेंट इन्सर्ट करें: 12
1. क्यू में एलिमेंट इन्सर्ट करें
2. क्यू से एलिमेंट डिलीट करें
3. क्यू के एलिमेंट्स डिस्प्ले करें
4. छोड़ें
अपना विकल्प दर्ज करें: 1
क्यू में एलिमेंट इन्सर्ट करें: 23
1. क्यू में एलिमेंट इन्सर्ट करें
2. क्यू से एलिमेंट डिलीट करें
3. क्यू के एलिमेंट्स डिस्प्ले करें
4. छोड़ें
अपना विकल्प दर्ज करें: 1
क्यू में एलिमेंट इन्सर्ट करें: 34
1. क्यू में एलिमेंट इन्सर्ट करें
2. क्यू से एलिमेंट डिलीट करें
3. क्यू के एलिमेंट्स डिस्प्ले करें
4. छोड़ें
अपना विकल्प दर्ज करें: 2
क्यू से डिलीट किया गया एलिमेंट है: 12
Queue है: 23 34
1. क्यू में एलिमेंट इन्सर्ट करें
2. क्यू से एलिमेंट डिलीट करें
3. क्यू के एलिमेंट्स डिस्प्ले करें
4. छोड़ें
अपना विकल्प दर्ज करें: 2
क्यू से डिलीट किया गया एलिमेंट है: 23
Queue है: 34
1. क्यू में एलिमेंट इन्सर्ट करें
2. क्यू से एलिमेंट डिलीट करें
3. क्यू के एलिमेंट्स डिस्प्ले करें
4. छोड़ें
अपना विकल्प दर्ज करें: 4
  1. C में पॉइंटर्स का उपयोग करके अंकगणितीय ऑपरेशन्स C में पॉइंटर्स का उपयोग करके अंकगणितीय ऑपरेशन्स

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

  1. C भाषा में स्विच स्टेटमेंट समझें C भाषा में स्विच स्टेटमेंट समझें

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

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

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