请帮我看看这个冒泡排序哪错了

[code="java"]
public class BubbleSort {

public static void bubbleSort(int[] number) {
    int m, n;
    for (m = number.length - 1; m > 1; m--) {
        for (n = 0; n < m; n++) {
            if (number[n] > number[n + 1]) {
                swap(number, n, m);
            }
        }
    }
}

private static void swap(int[] number, int i, int j) {
    int t;
    t = number[i];
    number[i] = number[j];
    number[j] = t;
}

public static void main(String[] args) {
    int[] num = { 3, 5, 6, 10, 32, 43, 1 };
    bubbleSort(num);
    for (int i = 0; i < num.length; i++) {
        System.out.println(num[i]);
    }
}

}
[/code]
排序结果为:
3
1
5
6
10
32
43

3和1的顺序没排过来,其他都是对的,那段代码有问题啊?

public static void bubbleSort(int[] number) {

int m, n;

for (m = number.length - 1; m > 0; m--) {

for (n = 0; n < m; n++) {

if (number[n] > number[n + 1]) {

swap(number, n, m);

}

}

}

}

把m>1改成>0就可以了

[quote] for (m = number.length - 1; m > 1; m--) { [/quote]
[size=medium]改成[/size]
[code="java"] for (m = number.length - 1; m > 0; m--) { [/code]