Bubble Sort

Description

* Bubble sort repeatedly swap the adjacent elements if they are not sorted.
* Largest element repeatedly move to highest index, if elements are sored 
  in acscending order or smallest element move to highest index if it
  sorted in descending order.
* Time Complexity: O(n2) : Worst and Average Case.
         : O(n) : Best Case (when array is already sorted).

C/C++

/* C program of Bubble sort */
//Save it as BubbleSort.c


#include<stdio.h>
int main()
{
    int i,n;

    printf("Enter the size of array : ");
    scanf("%d",&n);

    int arr[n];

    printf("\nEnter element : ");
    for(i=0;i<n;i++)
    {
        scanf("%d",&arr[i]);
    }

    bubbleSort(arr,n);

    printf("\nThe Sorted array is : ");
    for(i=0;i<n;i++)
    {
        printf("%d ",arr[i]);
    }
    return 0;
}

void bubbleSort(int arr[], int n){
    int i, j;

    for(i=0;i<n-1;i++){
        for(j=(i+1);j<n;j++){
            if(arr[i] > arr[j]){
                swap(&arr[i], &arr[j]);
            }
        }
    }
}

void swap(int *a, int *b){
    int temp = *a;
    *a = *b;
    *b = temp;
}
Input:
Enter the size of array : 6

Enter element : 45
25
6
46
37
56

Output:
The Sorted array is : 6 25 37 45 46 56

Java

/* Java program of Bubble sort */
//Save it as BubbleSort.java

import java.io.*;
import java.util.Scanner;
public class BubbleSort {

    public static void main(String[] args) {
        
        Scanner scanner = new Scanner(System.in);
        
        int i,n;
        
        System.out.println("Enter the size of array : ");
        n = scanner.nextInt();
        
        int arr[] = new int[n];
        
        System.out.println("Enter element : ");
        for(i=0;i<n;i++)
        {
            arr[i] = scanner.nextInt();
        }
        
        bubbleSort(arr,n);
        
        System.out.println("\nThe Sorted array is : ");
        for(i=0;i<n;i++)
        {
            System.out.print(arr[i]+ " ");
        }
    }

    private static void bubbleSort(int[] arr, int n) {
        
        int i, j;
        
        for(i=0;i<n-1;i++) {
            for(j=(i+1);j<n;j++) {
                if(arr[i] > arr[j]) {
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }
    }
Input:
Enter the size of array : 
5
Enter element : 
26
34
15
65
43

Output:
The Sorted array is : 
15 26 34 43 65

Related Programs

1) Selection Sort
2) Insertion Sort
3) Program of Merge Sort
4) Quick Sort
Share Me

Leave a Reply