import java.util.Random;

public class RandomIPGenerator { public static void main(String[] args) { // 生成 100 万个随机 IP 地址 String[] ips = new String[1000000]; Random rand = new Random(); for (int i = 0; i < ips.length; i++) { ips[i] = rand.nextInt(256) + '.' + rand.nextInt(256) + '.' + rand.nextInt(256) + '.' + rand.nextInt(256); }

    // 对 IP 地址进行排序
    long start = System.currentTimeMillis();
    sort(ips);
    long end = System.currentTimeMillis();
    System.out.println('排序耗时:' + (end - start));

    // 展示排序前后的 IP 地址
    System.out.println('排序前:');
    for (int i = 0; i < 4; i++) {
        System.out.print(ips[i] + ';');
    }
    System.out.println();
    System.out.println('排序后:');
    for (int i = 0; i < 4; i++) {
        System.out.print(ips[i] + ';');
    }
}

public static void sort(String[] ips) {
    for (int i = 0; i < ips.length - 1; i++) {
        for (int j = 0; j < ips.length - i - 1; j++) {
            if (compare(ips[j], ips[j + 1]) > 0) {
                String temp = ips[j];
                ips[j] = ips[j + 1];
                ips[j + 1] = temp;
            }
        }
    }
}

public static int compare(String ip1, String ip2) {
    String[] arr1 = ip1.split('\.');
    String[] arr2 = ip2.split('\.');
    for (int i = 0; i < 4; i++) {
        int num1 = Integer.parseInt(arr1[i]);
        int num2 = Integer.parseInt(arr2[i]);
        if (num1 != num2) {
            return num1 - num2;
        }
    }
    return 0;
}

}

Java 生成百万随机 IP 地址并排序 - 高效算法实现

原文地址: https://www.cveoy.top/t/topic/mTY6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录