生成随机ip地址生成100万个ip地址对100万ip地址进行排序展示排序耗时:排序耗时:7358排序规则:排序前:251223;102233;222124;100100233排序后:102233;222124;251223;100100233用java编写
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;
}
}
原文地址: http://www.cveoy.top/t/topic/bqPf 著作权归作者所有。请勿转载和采集!