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

बबल सॉर्ट का उपयोग करके संख्याओं की सूची को आरोही क्रम में सॉर्ट करने का C प्रोग्राम

C प्रोग्रामिंग भाषा में, बबल सॉर्ट सबसे सरल सॉर्टिंग तकनीक है और इसे एक्सचेंज सॉर्ट भी कहा जाता है।

बबल सॉर्ट की प्रक्रिया

  • पहले तत्व की तुलना सूची में शेष तत्वों से करें और यदि वे क्रम में नहीं हैं तो उन्हें एक्सचेंज (स्वैप) करें।
  • सूची में अन्य तत्वों के लिए भी यही दोहराएं जब तक सभी तत्व सॉर्ट न हो जाएं।

एल्गोरिथम

बबल सॉर्ट तकनीक का उपयोग करके संख्याओं की दी गई सूची को आरोही क्रम में सॉर्ट करने के लिए एक एल्गोरिथम नीचे दिया गया है:

चरण 1 - शुरू

चरण 2 - सूची (सरणी), num लें

चरण 3 - readlist(list, num)

चरण 4 - printlist(list, num)

चरण 5 - bub_sort(list, num)

चरण 6 - printlist(list, num)

readlist(list, num)
1. for j = 0 to num
2. read list[j].
printlist(list, num)
1. for j = 0 to num
2. write list[j].
bub_sort(list, num)
1. for i = 0 to num
2. for j = 0 to (num - i)
3. if(list[j] > list[j+1])
4. swapList(address of list[j], address of list[j+1])
swapList(address of list[j], address of list[j+1])
1. temp = value at list[j]
2. value at list[j] = value at list[j+1]
3. value at list[j+1] = temp

उदाहरण

निम्नलिखित C प्रोग्राम बबल सॉर्ट तकनीक का उपयोग करके संख्याओं की दी गई सूची को आरोही क्रम में सॉर्ट करता है:

#include <stdio.h> 
#define MAX 10 
void swapList(int *m, int *n){ 
    int temp; 
    temp = *m; 
    *m = *n; 
    *n = temp; 
} 
/* Function for Bubble Sort */ 
void bub_sort(int list[], int n){ 
    int i, j; 
    for(i = 0; i < (n-1); i++) 
        for(j = 0; j < (n-(i+1)); j++) 
            if(list[j] > list[j+1]) 
                swapList(&list[j], &list[j+1]); 
} 
void readlist(int list[], int n){ 
    int j; 
    printf("\nEnter the elements: \n"); 
    for(j = 0; j < n; j++) 
        scanf("%d", &list[j]); 
} 
/* Showing the contents of the list */ 
void printlist(int list[], int n){ 
    int j; 
    for(j = 0; j < n; j++) 
        printf("%d\t", list[j]); 
} 
void main(){ 
    int list[MAX], num; 
    printf("Enter the number of elements \n"); 
    scanf("%d", &num); 
    readlist(list, num); 
    printf("\n\nElements in the list before sorting are:\n"); 
    printlist(list, num); 
    bub_sort(list, num); 
    printf("\n\nElements in the list after sorting are:\n"); 
    printlist(list, num); 
}

आउटपुट

Enter the number of elements 10 
Enter the elements: 11 23 45 1 3 6 35 69 10 22 
Elements in the list before sorting are: 11 23 45 1 3 6 35 69 10 22 
Elements in the list after sorting are: 1 3 6 10 11 22 23 35 45 69
  1. सिंगल लिंक्ड लिस्ट का उपयोग करके संख्याओं को रिवर्स क्रम में प्रदर्शित करने के लिए C प्रोग्राम सिंगल लिंक्ड लिस्ट का उपयोग करके संख्याओं को रिवर्स क्रम में प्रदर्शित करने के लिए C प्रोग्राम

    लिंक्ड लिस्ट डायनामिक मेमोरी एलोकेशन का उपयोग करती हैं और नोड्स का संग्रह होती हैं।नोड्स के दो भाग होते हैं जो डेटा और लिंक हैं।लिंक्ड लिस्ट के प्रकारC प्रोग्रामिंग भाषा में लिंक्ड लिस्ट के प्रकार निम्नलिखित हैं:सिंगल / सिंगली लिंक्ड लिस्टडबल / डबली लिंक्ड लिस्टसर्कुलर सिंगल लिंक्ड लिस्टसर्कुलर डबल

  1. - स्ट्रक्चर का उपयोग करके नामों को वर्णमाला क्रम में सॉर्ट करने के लिए C प्रोग्राम

    स्ट्रक्चर विभिन्न डेटाटाइप वेरिएबल्स का एक संग्रह है, जिसे एक ही नाम के तहत समूहित किया गया है।स्ट्रक्चर की विशेषताएंC प्रोग्रामिंग भाषा में स्ट्रक्चर की विशेषताएं निम्नलिखित हैं:असाइनमेंट ऑपरेटर का उपयोग करके विभिन्न डेटाटाइप्स के सभी स्ट्रक्चर तत्वों की सामग्री को उसके प्रकार के दूसरे स्ट्रक्चर वे

  1. नॉन-रिकर्सिव फंक्शन का उपयोग करके संख्याओं का GCD खोजने का C प्रोग्राम नॉन-रिकर्सिव फंक्शन का उपयोग करके संख्याओं का GCD खोजने का C प्रोग्राम

    समस्या दो दी गई संख्याओं के लिए महत्तम सामान्य भाजक (GCD) को नॉन-रिकर्सिव फंक्शन का उपयोग करके खोजें। समाधान यह नीचे समझाया गया है कि नॉन-रिकर्सिव फंक्शन का उपयोग करके दो दी गई संख्याओं के लिए महत्तम सामान्य भाजक (GCD) कैसे खोजें। एल्गोरिथम नॉन-रिकर्सिव फंक्शन का उपयोग करके दो दी गई संख्याओं के लि