练习
Topic source// TODO:3.1选择排序
for (int i = 0; i < ns.length - 1; i++) {
// 记录最大值的索引
int index = i;
for (int j = i + 1; j < ns.length; j++) {
if (ns[index] < ns[j]) {
index = j;
}
}
int tmp = ns[i];
ns[i] = ns[index];
ns[index] = tmp;
}
// TODO:3.2冒泡排序
for (int i = 0; i < ns.length - 1; i++) {
for (int j = 0; j < ns.length - i - 1; j++) {
if (ns[j] < ns[j + 1]) {
// 交换ns[j]和ns[j+1]:
int tmp = ns[j];
ns[j] = ns[j + 1];
ns[j + 1] = tmp;
}
}
}
// TODO:3.3插入排序
for (int i = 1; i < ns.length; i++) {
for (int j = i; j > 0; j--) {
if (ns[j] > ns[j - 1]) {
int temp = ns[j - 1];
ns[j - 1] = ns[j];
ns[j] = temp;
} else {
// 只比前一个即可,因为前面是已排序部分
break;
}
}
}
- 1
魔渁
public static void main(String[] args) {
Integer[] ns = { 28, 12, 89, 73, 65, 18, 96, 50, 8, 36 };
// 排序前:
System.out.println(Arrays.toString(ns));
// TODO:
Arrays.sort(ns,Collections.reverseOrder());
// 排序后:
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("测试失败");
}
}