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

C प्रोग्राम: ऐरे से डुप्लीकेट एलिमेंट्स हटाना

समस्या

ऐरे से डुप्लीकेट संख्याएं हटाएं। परिणाम ऐरे में केवल यूनिक एलिमेंट्स हों।

एल्गोरिदम

for(i = 0; i < n; i++) {
    for(j = i+1; j < n; j++) {
        if(a[i] == a[j]) {
            // डुप्लीकेट मिला, शिफ्ट करें
            for(k = j; k < n; k++)
                a[k] = a[k+1];
            j--;      // इसी इंडेक्स को फिर चेक करें
            n--;      // ऐरे साइज घटाएं
        }
    }
}

C प्रोग्राम

#include <stdio.h>
#include <stdlib.h>

int main() {
    int a[50], i, j, k, number;
    printf("Enter size of array: ");
    scanf("%d", &number);
    printf("Enter elements: ");
    for(i = 0; i < number; i++)
        scanf("%d", &a[i]);
    printf("Original array: ");
    for(i = 0; i < number; i++)
        printf("%d ", a[i]);
    // डुप्लीकेट हटाएं
    for(i = 0; i < number; i++) {
        for(j = i+1; j < number; j++) {
            if(a[i] == a[j]) {
                for(k = j; k < number; k++)
                    a[k] = a[k+1];
                j--;
                number--;
            }
        }
    }
    printf("\nArray after removing duplicates: ");
    for(i = 0; i < number; i++)
        printf("%d ", a[i]);
    return 0;
}

आउटपुट

Enter size of array: 10
Enter elements: 1 1 2 4 3 5 6 5 7 1
Original array: 1 1 2 4 3 5 6 5 7 1
Array after removing duplicates: 1 2 4 3 5 6 7

समय जटिलता

O(n²) - नेस्टेड लूप्स के कारण। बड़े ऐरे के लिए, सॉर्टिंग + सिंगल पास (O(n log n)) या हैश सेट (O(n)) बेहतर है।

सॉर्टिंग आधारित दृष्टिकोण (अधिक कुशल)

// पहले सॉर्ट करें
qsort(a, n, sizeof(int), compare);
// फिर एडजेसेंट डुप्लीकेट्स हटाएं
int j = 0;
for(i = 1; i < n; i++) {
    if(a[i] != a[j])
        a[++j] = a[i];
}
n = j + 1;
  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>    

  1. C प्रोग्राम में ऐरे में तत्वों की अंतिम घटना को सापेक्ष क्रम में प्रिंट करें C प्रोग्राम में ऐरे में तत्वों की अंतिम घटना को सापेक्ष क्रम में प्रिंट करें

    समस्या विवरण तत्वों के साथ एक ऐरे a[] दिया गया है और कार्य सूची में दिए गए तत्वों की अंतिम घटनाओं को प्रिंट करना है। यहां हमें न केवल डुप्लिकेट तत्वों को हटाना है बल्कि हमें ऐरे में तत्वों की घटनाओं के क्रम को भी बनाए रखना है जैसा कि वे अंतिम बार हुए हैं। उदाहरण इनपुट: a[] = {4,2,2,4,1,5,1} आउटपुट

  1. - पायथन प्रोग्राम: सरणी के तत्वों को लेफ्ट रोटेट करना

    जब किसी सरणी के तत्वों को लेफ्ट रोटेट (बाएं घुमाने) करने की आवश्यकता होती है, तो सरणी पर पुनरावृत्ति की जा सकती है, और लेफ्ट रोटेशन की संख्या के आधार पर इंडेक्स को उतनी बार बढ़ाया जा सकता है। उदाहरण my_list = [11, 12, 23, 34, 65] n = 3 print(सूची है: ) for i in range(0, len(my_list)): print(my