Q. Write a program to sort an array element in descending order using Bubble Sort.



Bubble Sort :- Bubble sort is also known as sinking sort. Bubble sort is a simple sorting algorithm that compares adjacent elements and swaps them if order is wrong.

Descending order :- Numbers are said to be in descending order when they are arranged from largest to smallest number. Such as 21, 17, 13, 9 and 3 are arranged in descending order.

Bubble Sort Algorithm

START
   Step 1: Repeat Step 2 For i = 0 to N
   Step 2: Repeat For J = 0  to N - I
   Step 3: IF A[J] < A[J+1]
           SWAP A[J] and A[J+1]
           [END OF INNER LOOP]
           [END OF OUTER LOOP
   Step 4: EXIT
STOP


Bubble Sort Program

  • C
  • C++
  • Java
  • Python
  • C#
  • PHP
  • #include <stdio.h>
    
    int main(){
    
       int temp, i, j, number[5]={6,7,2,1,4};
    
       /* This is the main logic of bubble sort algorithm 
        */
       for(i = 0; i < 5; i++){
          for(j = 0; j < 5-i-1 ; ++j){
            if(number[j] < number[j+1]){
               temp = number[j];
               number[j] = number[j+1];
               number[j+1] = temp;
            }
          }
       }
    
       printf("Sorted Array: ");
       for(i=0;i<5;i++)
          printf(" %d",number[i]);
    
       return 0;
    }
    
    // Bubble sort in C++
    
    #include <iostream>
    using namespace std;
    
    void bubble_Sort(int array[], int size)
    {
      for (int i = 0; i < size - 1; ++i)
      {
        for (int i = 0; i < i - i - 1; ++i)
        {
          // To sort in ascending order, change < to > in this line.
          if (array[i] < array[i + 1])
          {
            int temp = array[i];
            array[i] = array[i + 1];
            array[i + 1] = temp;
          }
        }
      }
    }
    void print_Array(int array[], int size)
    {
      for (int i = 0; i < size; ++i)
      {
        cout << "  " << array[i];
      }
      cout << "\n";
    }
    int main()
    {
      int number[] = {6, 7, 2, 1, 4};
      int size = sizeof(number) / sizeof(number[0]);
      bubble_Sort(number, size);
      cout << "Sorted Array :\n";
      print_Array(number, size);
    }
    
    // Bubble sort in Java
    
    import java.util.Arrays;
    
    class LFC {
      void bubble_Sort(int array[]) {
        int size = array.length;
        for (int i = 0; i < size - 1; i++)
          for (int j = 0; j < size - i - 1; j++)
            // To sort in ascending order, change < to > in this line.
            if (array[j] < array[j + 1]) {
              int temp = array[j];
              array[j] = array[j + 1];
              array[j + 1] = temp;
            }
      }
    
      public static void main(String args[]) {
        int[] number = { 6, 7, 2, 1, 4 };
        LFC bs = new LFC();
        bs.bubble_Sort(number);
        System.out.println("Sorted Array :");
        System.out.println(Arrays.toString(number));
      }
    }
    
    
    def bubble_Sort(array):
        for i in range(len(array)):
            for j in range(0, len(array) - i - 1):
    
                # To sort in ascending order, change < to > in this line.
    
                if array[j] < array[j + 1]:
                    (array[j], array[j + 1]) = (array[j + 1], array[j])
    
    
    number = [ 6, 7, 2, 1, 4 ];
    bubble_Sort(number)
    print('Sorted Array: ')
    print(number)
    
    using System;
    namespace LFC {
       class MySort {
          static void Main(string[] args) {
             int[] arr = { 6, 7, 2, 1, 4 };
             int temp;
             for (int j = 0; j <= arr.Length - 2; j++) {
                for (int i = 0; i <= arr.Length - 2; i++) {
                   if (arr[i] < arr[i + 1]) {
                      temp= arr[i + 1];
                      arr[i + 1] = arr[i];
                      arr[i] = temp;
                   }
                }
             }
             Console.WriteLine("Sorted Array:");
             foreach (int p in arr)
                Console.Write(p + " ");
             Console.Read();
          }
       }
    }
    
    
    function bubble_Sort(&$number) 
    { 
        $n = sizeof($number); 
      
        // Traverse through all array elements 
        for($i = 0; $i < $n; $i++) 
        { 
            $temp = False; 
      
            // Last i elements are already 
            // in place 
            for ($j = 0; $j < $n - $i - 1; $j++) 
            { 
            
                if ($number[$j] < $number[$j+1]) 
                { 
                    $t = $number[$j]; 
                    $number[$j] = $number[$j+1]; 
                    $number[$j+1] = $t; 
                    $temp = True; 
                } 
            } 
      
            // IF no two elements were swapped 
            // by inner loop, then break 
            if ($temp == False) 
                break; 
        } 
    } 
              
    // Driver code to test above 
    $number = array(6, 7, 2, 1, 4);  
    $len = sizeof($number); 
    bubble_Sort($number); 
      
    echo "Sorted Array : \n"; 
      
    for($i = 0; $i < $len; $i++) 
        echo $number[$i]." "; 
    
    #include <stdio.h>
    
    int main(){
    
       int temp, i, j, number[5]={6,7,2,1,4};
    
       /* This is the main logic of bubble sort algorithm 
        */
      for(i = 0; i < 5; i++){
          for(j = 0; j < 5-i-1 ; ++j){
            if(number[j] < number[j+1]){
               temp = number[j];
               number[j] = number[j+1];
               number[j+1] = temp;
            }
          }
       }
    
       printf("Sorted Array: ");
       for(i=0;i<5;i++)
          printf(" %d",number[i]);
    
       return 0;
    }
    
    

    Output

    Sorted Array: 7 6 4 2 1
    

    Recommended Programs

       Program to find length of a string
       Program to check armstrong number