历遍数组

数组排序

冒泡排序法(从小到大)

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 };
        // 排序前:
        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));
    }
}

实际上,Java的标准库已经内置了排序功能,我们只需要调用JDK提供的Arrays.sort()就可以排序:

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 };
        Arrays.sort(ns);
        System.out.println(Arrays.toString(ns));//[ 28, 12, 89, 73, 65, 18, 96, 50, 8, 36 ]
    }
}

必须注意,对数组排序实际上修改了数组本身
而对于字符串数组来说,原来的字符串在内存中均没有任何变化,但是数组的每个元素指向变化了。

多维数组

最后修改日期:2019年12月23日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。