खोज…


पैरामीटर

पैरामीटर विवरण
स्थिर हाँ
जगह में हाँ
सबसे अच्छा मामला जटिलता पर)
औसत मामला जटिलता O (n ^ 2)
सबसे खराब मामला जटिलता O (n ^ 2)
अंतरिक्ष की जटिलता हे (1)

बबल शॅाट

BubbleSort एक क्रमबद्ध सूची में तत्वों के प्रत्येक क्रमिक जोड़े की तुलना करता है और यदि वे क्रम में नहीं हैं, तो तत्वों को निष्क्रिय कर देता है।

निम्न उदाहरण {6,5,3,1,8,7,2,4} सूची पर बबल सॉर्ट को दिखाता है (जो प्रत्येक चरण में तुलना की गई थी, '**' में समझाया गया है):

{6,5,3,1,8,7,2,4}
{**5,6**,3,1,8,7,2,4} -- 5 < 6 -> swap
{5,**3,6**,1,8,7,2,4} -- 3 < 6 -> swap
{5,3,**1,6**,8,7,2,4} -- 1 < 6 -> swap
{5,3,1,**6,8**,7,2,4} -- 8 > 6 -> no swap
{5,3,1,6,**7,8**,2,4} -- 7 < 8 -> swap
{5,3,1,6,7,**2,8**,4} -- 2 < 8 -> swap
{5,3,1,6,7,2,**4,8**} -- 4 < 8 -> swap

सूची के माध्यम से एक पुनरावृत्ति के बाद, हमारे पास {5,3,1,6,7,2,4,8} । ध्यान दें कि सरणी (इस मामले में 8) में सबसे बड़ा अनसुलझा मूल्य हमेशा अपनी अंतिम स्थिति तक पहुंच जाएगा। इस प्रकार, यह सुनिश्चित करने के लिए कि सूची क्रमबद्ध है, हमें लंबाई n की सूचियों के लिए n-1 बार पुनरावृति करना चाहिए।

ग्राफिक:

बबल शॅाट

जावास्क्रिप्ट में कार्यान्वयन

        function bubbleSort(a)
          {
                var swapped;
                do {
                    swapped = false;
                    for (var i=0; i < a.length-1; i++) {
                        if (a[i] > a[i+1]) {
                            var temp = a[i];
                            a[i] = a[i+1];
                            a[i+1] = temp;
                            swapped = true;
                        }
                    }
                } while (swapped);
            }
    
   var a = [3, 203, 34, 746, 200, 984, 198, 764, 9];
   bubbleSort(a);
   console.log(a); //logs [ 3, 9, 34, 198, 200, 203, 746, 764, 984 ]

C # में कार्यान्वयन

बबल सॉर्ट को सिंकिंग सॉर्ट के रूप में भी जाना जाता है। यह एक सरल छँटाई एल्गोरिथ्म है जो बार-बार सूची के माध्यम से क्रमबद्ध किया जाता है, आसन्न वस्तुओं के प्रत्येक जोड़े की तुलना करता है और गलत क्रम में होने पर उन्हें स्वैप कर देता है।

बबल सॉर्ट उदाहरण बबल सॉर्ट उदाहरण

बबल सॉर्ट का कार्यान्वयन
मैंने बबल सॉर्ट एल्गोरिथ्म को लागू करने के लिए सी # भाषा का उपयोग किया

public class BubbleSort
{
    public static void SortBubble(int[] input)
    {
        for (var i = input.Length - 1; i >= 0; i--)
        {
            for (var j = input.Length - 1 - 1; j >= 0; j--)
            {
                if (input[j] <= input[j + 1]) continue;
                var temp = input[j + 1];
                input[j + 1] = input[j];
                input[j] = temp;
            }
        }
    }

    public static int[] Main(int[] input)
    {
        SortBubble(input);
        return input;
    }
}

C & C ++ में कार्यान्वयन

C++ में BubbleSort का एक उदाहरण कार्यान्वयन:

   void bubbleSort(vector<int>numbers)
   {
       for(int i = numbers.size() - 1; i >= 0; i--) {
           for(int j = 1; j <= i; j++) {
               if(numbers[j-1] > numbers[j]) {
                   swap(numbers[j-1],numbers(j));
               }
           }
       }
   }

C क्रियान्वयन

void bubble_sort(long list[], long n)
{
  long c, d, t;
 
  for (c = 0 ; c < ( n - 1 ); c++)
  {
    for (d = 0 ; d < n - c - 1; d++)
    {
      if (list[d] > list[d+1])
      {
        /* Swapping */
 
        t         = list[d];
        list[d]   = list[d+1];
        list[d+1] = t;
      }
    }
  }
}

बुलबुला सूचक के साथ क्रमबद्ध

void pointer_bubble_sort(long * list, long n)
{
  long c, d, t;
 
  for (c = 0 ; c < ( n - 1 ); c++)
  {
    for (d = 0 ; d < n - c - 1; d++)
    {
      if ( * (list + d ) > *(list+d+1))
      {
        /* Swapping */
 
        t         = * (list + d );
        * (list + d )   = * (list + d + 1 );
        * (list + d + 1) = t;
      }
    }
  }
}

जावा में कार्यान्वयन

public class MyBubbleSort {
  
    public static void bubble_srt(int array[]) {//main logic
        int n = array.length;
        int k;
        for (int m = n; m >= 0; m--) {
            for (int i = 0; i < n - 1; i++) {
                k = i + 1;
                if (array[i] > array[k]) {
                    swapNumbers(i, k, array);
                }
            }
            printNumbers(array);
        }
    }
  
    private static void swapNumbers(int i, int j, int[] array) {
  
        int temp;
        temp = array[i];
        array[i] = array[j];
        array[j] = temp;
    }
  
    private static void printNumbers(int[] input) {
          
        for (int i = 0; i < input.length; i++) {
            System.out.print(input[i] + ", ");
        }
        System.out.println("\n");
    }
  
    public static void main(String[] args) {
        int[] input = { 4, 2, 9, 6, 23, 12, 34, 0, 1 };
        bubble_srt(input);
  
    }
}

पायथन कार्यान्वयन

#!/usr/bin/python

input_list = [10,1,2,11]

for i in range(len(input_list)):
  for j in range(i):
    if int(input_list[j]) > int(input_list[j+1]):
      input_list[j],input_list[j+1] = input_list[j+1],input_list[j]

print input_list


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow