cocos2d-x 实现不重复的随机数
2013-09-24 19:50
218 查看
想了几分钟的算法,可能有点简单,不过好用,记录下来,留给以后用。
用法就是很简单了
vector<int> MemoryChallenge::createRand( int count , int sum ) { //保存随机数 vector<int> vec_ran; srand(time(NULL)); //不知道为什么,第一次都是随机出2,所以我就先赋值 int ranNum = CCRANDOM_0_1()*sum; int i = 0; //标记 bool flag = false; do { //随机数 int ranNum = CCRANDOM_0_1()*sum; //随机数的等于最大数,继续 if (ranNum == count) { continue; } //判断和容器中的数据是否相等 for (int j=0;j<vec_ran.size();j++) { if (vec_ran[j] != ranNum ) { continue; } flag = true; } //如果不相等,则保存到容器中 if(!flag) { vec_ran.push_back(ranNum); i++; } //恢复标识 flag = false; } while ( i<count ); return vec_ran; }
用法就是很简单了
//生成随机数 vector<int> vec_ran = createRand(4,6); for (int i=0;i<vec_ran.size();i++) { CCLOG("vec: %d",vec_ran[i]); }
相关文章推荐
- Golang编程实现生成n个从a到b不重复随机数的方法
- C#实现的不重复随机数序列生成算法
- JAVA实现指定区间取N个不重复随机数
- Java编程实现从给定范围内随机N个不重复数生成随机数的方法小结
- Java 生成任意位数永不重复的随机数策略实现
- 递归实现随机数不重复问题
- cocos2d-x:获取不重复的随机数
- Java编程实现生成给定范围内不重复随机数的方法小结
- 在cocos2d-x中实现真随机数
- Cocos2d-x Studio (一) ----- 随机数实现(产生 start 到 end 的随机数)
- 如何利用C语言实现确定范围及不重复的随机数
- 高效产生一组不重复的随机数(受编程珠矶启示)java实现
- C++实现生成1—10000之间的10000个不重复的随机数
- COCOS2D-X 不重复随机数
- Java实现生成n个不重复的随机数
- JavaScript 产生不重复的随机数三种实现思路
- 高效产生一组不重复的随机数(受编程珠矶启示)java实现
- 用lua实现的不重复随机数