思路:将待排序分成两部分,无序和有序两部分 ,每次将无序部分中最大的元素放进有序部分的第一个位置。
起始:
无序部分:[0,array.length)
有序部分:[array.length,array.length)
最终:
无序部分:[0,0)
有序部分:[0,array.length)
例:
[9,5,2,7]
public static void bubbleSort(long[] array){
for (int i = 0; i < array.length-1; i++) {
//有序区间:[0,array.length-i)
//无序区间:[array.length-i,array.length)
for (int j=0;j<array.length-i-1;j++){
if (array[j]>array[j+1]){
long tmp=array[j];
array[j]=array[j+1];
array[j+1]=tmp;
}
}
}
}