Random随机生成1-20000个不相同的数字? 怎么判断不相同的,用什么方法效率高点??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://community.csdn.net/Expert/TopicView3.asp?id=5047441 生成一个随机数x插入一个到排序的链表中:f(x,list){如果list为空,list.add(x);如果list有一个元素,x大于它,list.add(x) else list.insert(x);if(x>list中间那个数)f(x,list右段)else if(x<list中间那个数)f(x,list左段)//如果相等,返回return;}//希望你能看懂,二分法,排序与判断数是否相同同时进行,一个排序后的20000个数14次可以找到那个与之相同的数,如果用循环的方法遍历20000个未排序的数的话,那就必须要20000次。 数据结构未深思,list不一定适合,总之是一个可以用二分法并且可以插入值的数据结构 //生成随机数表 Random random = new Random(); random.setSeed(System.currentTimeMillis()); Set set = new HashSet(); while(set.size() < 20000){ set.add(Math.abs(random.nextInt())); } new Arraylist 出来的对象,是放在堆中还是放在栈中,在线等 !!!!急!!!! java删除文件问题~~!~ 菜鸟可能会,高手不一定会的程序题。结帖时给出答案 log4j的debug信息太多了,想去掉一点没用的。 java中的$是什么意思啊,请各位帮忙 请问如何在java里实现随机生成数字? 大娃娃游戏网(www.dawawa.com)诚聘技术精英 请问那里有jbuilder6的书籍或者教程使用方法下载!?? ant是什么东东? 哪位大侠能简单说明一下 Math.random() 和 java.util.Random 的区别吗? 请高手指点???
f(x,list){
如果list为空,list.add(x);
如果list有一个元素,x大于它,list.add(x) else list.insert(x);
if(x>list中间那个数)
f(x,list右段)
else if(x<list中间那个数)
f(x,list左段)
//如果相等,返回
return;
}
//希望你能看懂,二分法,排序与判断数是否相同同时进行,一个排序后的20000个数14次可以找到那个与之相同的数,如果用循环的方法遍历20000个未排序的数的话,那就必须要20000次。
Random random = new Random();
random.setSeed(System.currentTimeMillis());
Set set = new HashSet();
while(set.size() < 20000){
set.add(Math.abs(random.nextInt()));
}