Here's the question you clicked on:
liliy
im having trouble programming bubblesort in java. it only goes through the array once. help!
public static int[] bubbleSort(int[] a){ int temp=0; boolean swapped=true; int num=a.length; int sorted=0; while(sorted<a.length){ while(swapped){ for(int i=0;i<num-1;i++){ if (a[i]>a[i+1]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; } else swapped=false; } num--;//invariant(?) and that numb is in place sorted++; } //num--; //sorted++; } return a; }
Walk through your code with your test data, know what your variables are, and you'll see the problem in a couple of swaps.