package exception;
class shuzup {
public static void paixu(int[] dx) {
for (int x = 0; x < dx.length - 1; x++) {
for (int y = x + 1; y < dx.length; y++) {
if (dx[x] > dx[y])
;//这里面可以正常运行,是没有错的
//下面的是代码块,也没有错的,而且y的作用范围依然在,重点在一下三句
//含义是:永远拿角标为x的元素与角标为y的元素交换,
// 这是数组值5, 1, 6, 4, 2, 8, 9
// 当x=0的时候
// 当y==1的时候变成1, 5, 6, 4, 2, 8, 9
// 当y==2的时候变成6, 5, 1, 4, 2, 8, 9
// 当y==3的时候变成4, 5, 1, 6, 2, 8, 9
// 当y==4的时候变成2, 5, 1, 6, 4, 8, 9
// 当y==5的时候变成8, 5, 1, 6, 4, 2, 9
// 当y==5的时候变成9, 5, 1, 6, 4, 2, 8 这个时候确定了x=0的位置为9
// 当x=1的时候
// 当y==2的时候变成9, 1, 5, 6, 4, 2, 8
// 当y==3的时候变成9, 6, 5, 1, 4, 2, 8
// 当y==4的时候变成9, 4, 5, 1, 6, 2, 8
// 当y==5的时候变成9, 2, 5, 1, 6, 4, 8
// 当y==5的时候变成9, 8, 5, 1, 6, 4, 2 这个时候确定了x=1的位置为8
// 后面的以此类推
{
int temp = dx[x];
dx[x] = dx[y];
dx[y] = temp;
// 利用该输出语句来检查每次产生的结果是否正确
System.out.print(dx[y]+" ");
}
}
System.out.println();
}
}
public static void shuzu(int[] arr) {
{
System.out.print("[");
for (int x = 0; x < arr.length; x++) {
if (x != arr.length - 1) {
System.out.print(arr[x] + ", ");
} else {
System.out.println(arr[x] + "]");
}
}
}
}
public static void main(String[] args) {
int[] dx = { 5, 1, 6, 4, 2, 8, 9 };
shuzu(dx);
paixu(dx);
shuzu(dx);
}
}
|