import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] ns = { 28, 12, 89, 73, 65, 18, 96, 50, 8, 36 };
// 12 28 73 65 18 89 50 8 36 96
// 排序前:
System.out.println(Arrays.toString(ns));
// 外循环
boolean flag = false;
for (int i = 0; i < ns.length - 1; i++) {
flag = false;
for (int j = 0; j < ns.length - i-1; j++) {
if (ns[j] > ns[j + 1]) {
ns[j] = ns[j] + ns[j + 1];
ns[j + 1] = ns[j] - ns[j + 1];
ns[j] = ns[j] - ns[j + 1];
flag = true;
}
System.out.format("第 %d 遍第%d 趟结果:", i + 1, j + 1);
for (int count : ns) {
System.out.print(count+" ");
System.out.println("");
System.out.format("第 %d 遍最终结果:", i + 1);
// 如果没有发生元素交换说明排序完成。
if (!flag) {
return;
// 排序后:
if (Arrays.toString(ns).equals("[96, 89, 73, 65, 50, 36, 28, 18, 12, 8]")) {
System.out.println("测试成功");
} else {
System.out.println("测试失败");
Sign in to make a reply
不可掉头--麥子
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] ns = { 28, 12, 89, 73, 65, 18, 96, 50, 8, 36 };
// 12 28 73 65 18 89 50 8 36 96
// 排序前:
System.out.println(Arrays.toString(ns));
// 外循环
boolean flag = false;
for (int i = 0; i < ns.length - 1; i++) {
flag = false;
for (int j = 0; j < ns.length - i-1; j++) {
if (ns[j] > ns[j + 1]) {
ns[j] = ns[j] + ns[j + 1];
ns[j + 1] = ns[j] - ns[j + 1];
ns[j] = ns[j] - ns[j + 1];
flag = true;
}
System.out.format("第 %d 遍第%d 趟结果:", i + 1, j + 1);
for (int count : ns) {
System.out.print(count+" ");
}
System.out.println("");
}
System.out.format("第 %d 遍最终结果:", i + 1);
for (int count : ns) {
System.out.print(count+" ");
}
System.out.println("");
// 如果没有发生元素交换说明排序完成。
if (!flag) {
return;
}
}
// 排序后:
System.out.println(Arrays.toString(ns));
if (Arrays.toString(ns).equals("[96, 89, 73, 65, 50, 36, 28, 18, 12, 8]")) {
System.out.println("测试成功");
} else {
System.out.println("测试失败");
}
}
}