从一个数组中随机的取出若干个不同的数
来源:互联网 发布:淘宝开源项目 编辑:程序博客网 时间:2024/05/21 03:57
/* * 此程序是从一个不重复的数组中随机的取出若干个不同的元素 * 难点是防止在取数的时候出现已经取到过的情况(特别是取到最后),需要尽可能的降低碰撞 *///第一种算法,CSDN上别人的想法/*$num = 0;$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9);$arr = array();$g = 5;$tag = true;while ($tag) { $count = count($array); $t = rand(0, 1); if ($t == 1) { $arr[] = $array[$num]; unset($array[$num]); } $num ++; if (count($arr) == $g) { $tag = false; } if ($num == $count) { $num = 0; //循环 }}var_dump($arr);*///第二种算法,自己想的。//可以在每次取出数据之后将该数据和最后没有获取的数据替换,然后再去没有取得的数据中随机获取值function swap(&$a, &$b){ $temp = $b; $b = $a; $a = $temp;}$result = array();$src = array();for($i = 0 ; $i < 40 ; $i++){ $src[] = $i + 1;}$arr_len = count($src);$count = 20;$index = 0;while($index < $count){ $random = rand(0, $arr_len - $index - 1); $result[] = $src[$random]; swap($src[$random] , $src[$arr_len - $index - 1]); $index += 1;}print_r(json_encode($result));print_r(json_encode($src));
0 0
- 从一个数组中随机的取出若干个不同的数
- 从数组中取出不同的元素
- N个数组,从每个数组中取出一个数,组成一个序列,输出所有可能的情况
- 通过js从一个数组中随机的取出一个值
- 从数组中随机取出4个不重复的数字
- 从一个含有很多不同元素的大数组中寻找10个最大的数
- 从指定的数组中,随机抽取一个数
- 给定一个包含从0,1,2,...,n中取出的n个不同数字的数组,找到数组中缺少的数字。
- java随机从数组中取出指定数目的值
- 从0到100随机抽10个不同的数,然后放入数组中。再按顺序打印出来
- php 关联数组中随机的取出一个元素
- php-Arrays 函数-array_rand-从数组中随机取出一个或多个单元
- 一个数组中找出2个不同的数
- 从50个数中取出若干个
- iOS N个数组,从每个数组中取出一个元素,组合,成为一个新的数组的集合
- 从n中取出m个不重复的数
- 给定一个正整数数组,随机取出一个数,要求数值越大的数被被取出的概率越大。- JAVA
- 给定数组,试求能否从数组中取出n个不复用的数的和为sum
- 用RapidMiner搭建推荐系统和评论挖掘系统
- ssh远程登录报错REMOTE HOST IDENTIFICATION HAS CHANGED!解决方案及原因
- iOS 学习路线图
- Django开发(四)——Django的模板
- play基本框架
- 从一个数组中随机的取出若干个不同的数
- 删除输入字符串中的数字,并将大写改小写
- 基于uboot及TFTP通信向开发板烧写程序的详细分析
- ***POJ 3349 Snowflake Snow Snowflakes(哈希)
- 不设密码Win7能否远程连接
- android 华为手机eclipse中不显示日志问题
- 开启写博客模式
- ppp上网自动配置DNS
- Linux 国内源、Android SDK更新代理/镜像