BubbleSort.java 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // Optimized java implementation of Bubble sort
  2. // https://www.geeksforgeeks.org/bubble-sort-algorithm/
  3. import java.io.*;
  4. class BubbleSort {
  5. // An optimized version of Bubble Sort
  6. static void bubbleSort(int arr[], int n){
  7. int i, j, temp;
  8. boolean swapped;
  9. for (i = 0; i < n - 1; i++) {
  10. swapped = false;
  11. for (j = 0; j < n - i - 1; j++) {
  12. if (arr[j] > arr[j + 1]) {
  13. // Swap arr[j] and arr[j+1]
  14. temp = arr[j];
  15. arr[j] = arr[j + 1];
  16. arr[j + 1] = temp;
  17. swapped = true;
  18. }
  19. }
  20. // If no two elements were
  21. // swapped by inner loop, then break
  22. if (swapped == false)
  23. break;
  24. }
  25. }
  26. // Function to print an array
  27. static void printArray(int arr[], int size){
  28. int i;
  29. for (i = 0; i < size; i++)
  30. System.out.print(arr[i] + " ");
  31. System.out.println();
  32. }
  33. // Driver program
  34. public static void main(String args[]){
  35. int arr[] = { 64, 34, 25, 12, 22, 11, 90 };
  36. int n = arr.length;
  37. bubbleSort(arr, n);
  38. System.out.println("Sorted array: ");
  39. printArray(arr, n);
  40. }
  41. }