public class HelloWorld {
public static void main(String []args) {
int a[] = {5,4,3,2,1};
// int x = 0;
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length-i-1; j++) {
// System.out.print("[第" + (++x) + "次:" + a[j] + "与" + a[j+1] + "] ");
if (a[j] > a[j+1]) {
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
// for (int n = 0; n < a.length; n++) {
// System.out.print(a[n]);
// }
// System.out.println();
}
// System.out.println();
}
}
}
class HelloWorld {
public static void main(String[] args) {
int a[] = {5,4,3,2,1};
// int x = 0;
int len = a.length - 1;
for(int i = 0 ; i < a.length ; i++){
for(int j = 0 ; j < len; j++){
// System.out.print("[第" + (++x) + "次:" + a[j] + "与" + a[j+1] + "] ");
if(a[j] > a[j+1]){
a[j] = a[j] ^ a[j+1];
a[j+1] = a[j+1] ^ a[j];
a[j] = a[j] ^ a[j+1];
}
// for (int n = 0; n < a.length; n++) {
// System.out.print(a[n]);
// }
// System.out.println();
}
// System.out.println();
len--;
}
}
}
以上两种写法输出结果一致,如下:
[第1次:5与4] 45321
[第2次:5与3] 43521
[第3次:5与2] 43251
[第4次:5与1] 43215
[第5次:4与3] 34215
[第6次:4与2] 32415
[第7次:4与1] 32145
[第8次:3与2] 23145
[第9次:3与1] 21345
[第10次:2与1] 12345