Updated to more efficient version if array size is scaled.

Changed loop from "for" to "do-while". Added decrement at end of do loop to decrease size of array tested after each iteration.
This commit is contained in:
UsernameToLon 2017-05-18 14:11:47 -04:00 committed by GitHub
parent 1bd077ea41
commit e5dd6eff02

View File

@ -16,9 +16,13 @@ class BubbleSort
*/ */
public static void main(String[] args) public static void main(String[] args)
{ {
int array[]=new int[6]; int size = 6;
int array[]=new int[size];
boolean swap;
int last = size - 1;
Scanner input=new Scanner(System.in); Scanner input=new Scanner(System.in);
//Input //Input
System.out.println("Enter any 6 Numbers for Unsorted Array : "); System.out.println("Enter any 6 Numbers for Unsorted Array : ");
for(int i=0; i<6; i++) for(int i=0; i<6; i++)
@ -27,19 +31,23 @@ class BubbleSort
} }
//Sorting //Sorting
for(int i=0; i<5; i++) do
{ {
for(int j=i+1; j<6; j++) swap = false;
for (int count = 0; count < last; count++)
{ {
if(array[j]>array[i]) if (array[count] > array[count + 1])
{ {
int temp=array[j]; int temp = array[count];
array[j]=array[i]; array[count] = array[count + 1];
array[i]=temp; array[count + 1] = temp;
} swap = true;
} }
} }
last--;
} while (swap);
//Output //Output
for(int i=0; i<6; i++) for(int i=0; i<6; i++)
{ {