1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
/* Java Bubble Sort Example This Java bubble sort example shows how to sort an array of int using bubble sort algorithm. Bubble sort is the simplest sorting algorithm. */ public class BubbleSort { public static void main(String[] args) { //create an int array we want to sort using bubble sort algorithm int intArray[] = new int[]{5,90,35,45,150,3}; //print array before sorting using bubble sort algorithm System.out.println("Array Before Bubble Sort"); for(int i=0; i < intArray.length; i++){ System.out.print(intArray[i] + " "); } //sort an array using bubble sort algorithm bubbleSort(intArray); System.out.println(""); //print array after sorting using bubble sort algorithm System.out.println("Array After Bubble Sort"); for(int i=0; i < intArray.length; i++){ System.out.print(intArray[i] + " "); } } private static void bubbleSort(int[] intArray) { /* * In bubble sort, we basically traverse the array from first * to array_length - 1 position and compare the element with the next one. * Element is swapped with the next element if the next element is greater. * * Bubble sort steps are as follows. * * 1. Compare array[0] & array[1] * 2. If array[0] > array [1] swap it. * 3. Compare array[1] & array[2] * 4. If array[1] > array[2] swap it. * ... * 5. Compare array[n-1] & array[n] * 6. if [n-1] > array[n] then swap it. * * After this step we will have largest element at the last index. * * Repeat the same steps for array[1] to array[n-1] * */ int n = intArray.length; int temp = 0; for(int i=0; i < n; i++){ for(int j=1; j < (n-i); j++){ if(intArray[j-1] > intArray[j]){ //swap the elements! temp = intArray[j-1]; intArray[j-1] = intArray[j]; intArray[j] = temp; } } } } } /* Output of the Bubble Sort Example would be Array Before Bubble Sort 5 90 35 45 150 3 Array After Bubble Sort 3 5 35 45 90 150 */ |
thanks for the example
I just want to know, if i want to print all the steps of sorting then what should i have to add in the above code? hope you understand the question? i need to show all the steps of sorting one by one… thanks Please reply as soon as possible.
i think in line 60 it must be like this for(int j=1; j < n-i-1; j++){
at line 60 it must be for(int j = 1; j < n; j++) because if you let the example as it is now you`ll get “5 35 45 90 150 3”
tnx for the Example ^_^
@google-c61175b004f9f920279c201183142df4:disqus i think its the same output hahahah
Thanks for the example. I think line 60 should be as follows..
for(int j = 1; j < n; j++) {
if not the last element of the array will not get sorted properly specially if the last element is smaller than the previous ones on the array. I think lulian also makes the same point. Thanks.
for loop of j must need to start with 0..
for(int j=0;j
(n-i) is fine in line number 60 because even if the last number is the smallest number it will come to the first index of the array when i=0.
Thanks for the gnarly code.