| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // Optimized java implementation of Bubble sort
- // https://www.geeksforgeeks.org/bubble-sort-algorithm/
- import java.io.*;
- class BubbleSort {
-
- // An optimized version of Bubble Sort
- static void bubbleSort(int arr[], int n){
- int i, j, temp;
- boolean swapped;
- for (i = 0; i < n - 1; i++) {
- swapped = false;
- for (j = 0; j < n - i - 1; j++) {
- if (arr[j] > arr[j + 1]) {
-
- // Swap arr[j] and arr[j+1]
- temp = arr[j];
- arr[j] = arr[j + 1];
- arr[j + 1] = temp;
- swapped = true;
- }
- }
- // If no two elements were
- // swapped by inner loop, then break
- if (swapped == false)
- break;
- }
- }
- // Function to print an array
- static void printArray(int arr[], int size){
- int i;
- for (i = 0; i < size; i++)
- System.out.print(arr[i] + " ");
- System.out.println();
- }
- // Driver program
- public static void main(String args[]){
- int arr[] = { 64, 34, 25, 12, 22, 11, 90 };
- int n = arr.length;
- bubbleSort(arr, n);
- System.out.println("Sorted array: ");
- printArray(arr, n);
- }
- }
|