饭中淹的避难所~~~~~

偶尔来避难的地方~

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  94 随笔 :: 0 文章 :: 257 评论 :: 0 Trackbacks
1- 随机挑选一个数组中的某种元素中的一个
1)- 计算元素的数量
foreach( E e in array ) { if( e isTypeOf TargetType ) ++foundCount;}
2)- 在数量中取随机值
randomIndex = random() * foundCount;
3)- 取元素
foreach( E e in array ) { if( e isTypeOf TargetType ) { if( randomIndex == 0 )return e; --randomIndex; } }
2- 随机挑选一组数据中的数个数据
1)- 建立随机表
randomTable[n] = random() * ( dataCount - n );
2)- 对随机表升序排序
sort( randomTable );
3)- 取数据
foreach( E e in array ) { for( i = 0;i < n; ++i ) { if( randomTable[i] == 0 ) { container.add( e ); randomTable[i] = -1; break; } else if( randomTable[i] > 0 ) --randomTable[i]; } }

posted on 2010-08-19 14:43 饭中淹 阅读(426) 评论(0)  编辑 收藏 引用 所属分类: 数据算法分析

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理