很简单的实现,需要注意的是「指针」:"cursor"的移动,while循环结束时,
数组中最大的一个数已排至最末位,然后将「指针」置为‘0’,
进入下一次"for"循环,依次将“次大数”移至正确的位置,循环"a.length-1"次,排序完毕。
package com.dc.sort;
import java.util.Arrays;
public class MyBubbleSort {
int a[]={99,88,77,66,55,44,33,22,11};
public void sort( ){
System.out.println(Arrays.toString(a));
int temp=0;
int cursor=0;
for (int i = 0; i < a.length-1; i++) {
while(cursor<a.length-1){
if(a[cursor]>a[cursor+1]){
temp = a[cursor+1];
a[cursor+1] = a[cursor];
a[cursor] = temp;
}
cursor++;
}
cursor=0;
}
System.out.println(Arrays.toString(a));
}
public static void main(String[] args) {
MyBubbleSort mySortNum = new MyBubbleSort();
mySortNum.sort();
}
}