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;
}

}

生成随机ip地址生成100万个ip地址对100万ip地址进行排序展示排序耗时:排序耗时:7358排序规则:排序前:251223;102233;222124;100100233排序后:102233;222124;251223;100100233用java编写

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

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