1.数组升序排列
import java.util.Arrays;
public class Maopao {
public static void main(String[] args) {
int[] ns = {15, 65, 1, 78, 24, 64};
System.out.println(Arrays.toString(ns));
// 冒泡排序的特点是,每一轮循环后,最大的一个数被交换到末尾,因此
// 下一轮循环就可以“刨除”最后的数,每一轮循环都比上一轮循环的结
// 束位置靠前一位。
for (int i = 0; i < ns.length - 1; i++) {
// 这里需要注意,别把j++写成了i++ 导致数组未排列
for (int j = 0; j < ns.length - i - 1; j++) {
// 同时如果想实现降序冒泡,则将<号改成大于号即可
if (ns[j] >ns[j + 1]) {
int temp = ns[j];
ns[j] = ns[j + 1];
ns[j + 1] = temp;
}
}
}
System.out.println(Arrays.toString(ns));
}
}
当然也可以直接可以java内置排序功能来简单实现排序**
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] ns = { 15, 65, 1, 78, 24, 64};
Arrays.sort(ns);
System.out.println(Arrays.toString(ns));
}
}
2.数据降序排列只需要修改“ if (ns[j] <ns[j+1]) ”
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] ns = { 15, 65, 1, 78, 24, 64 };
// 排序前:
System.out.println(Arrays.toString(ns));
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;
}
}
}
// 排序后:
System.out.println(Arrays.toString(ns));
}
}