CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

需求求助

楼主yanxiazhiqiu(if the words don't come my way...)2006-02-07 14:01:54 在 Java / J2SE / 基础类 提问

怎样得到一个数组的一个随机排列?如我现在有个数组里面的元素为{1,2,3,4,5},现在我要每次得到它里面所有元素的一个随机排列,如第一次我可能得到{2,3,4,1,5},第二次我可能得到{3,2,5,4,1}!谢谢了! 问题点数:40、回复次数:4Top

1 楼chg2008(岂能尽如人意,但求无愧我心!)回复于 2006-02-07 17:07:47 得分 5

容易啊,生成数据下标的随机序列,再根据这个下标数组来得到原数组的一个随机排列Top

2 楼JaredJared()回复于 2006-02-07 17:20:07 得分 5

把数据保存到list中,调用Connections.shuffle(list)就可以了。Top

3 楼popy007(Twinsen)回复于 2006-02-07 17:47:17 得分 30

 
   
  Vector   org   =   new   Vector();  
   
  for(int   i=0;   i<5;   ++i)  
      org.addElement(Integer(i));   //   0,1,2,3,4   =>   org   vector  
   
  Random   rnd   =   new   Random();  
   
  Vector   dest   =   new   Vector();  
  for(i=0;   i<5;   ++i)   {  
      int   r   =   abs(rnd.nextInt())%(5-i);  
      dest.addElement(Integer(org.elementAt(r)));  
      org.remove(r);  
  }  
   
  dest向量得到的就是一个org向量打乱后的序列  
  Top

4 楼yanxiazhiqiu(if the words don't come my way...)回复于 2006-02-07 18:54:08 得分 0

谢谢楼上!Top

相关问题

  • 《软件需求》
  • 需求变更
  • 需求分析
  • 需求分析
  • 求需求分析!
  • 需求程序解释
  • 需求分析报告……
  • 光驱驱动需求
  • 高分求需求分析!
  • 需求VS.net的注册码

关键词

  • 排列
  • vector
  • 数据
  • 数组
  • 下标
  • 得到
  • 元素
  • org
  • list

得分解答快速导航

  • 帖主:yanxiazhiqiu
  • chg2008
  • JaredJared
  • popy007

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo