设为首页 加入收藏

TOP

4.4.4 使用random_shuffle()算法
2013-10-07 14:44:34 来源: 作者: 【 】 浏览:56
Tags:4.4.4 使用 random_shuffle 算法

4.4.4  使用random_shuffle()算法

接下来,程序准备使用random_shuffle()算法对分数进行乱序。与生成单个随机数时一样,程序在调用random_shuffle()之前为随机数生成器确定种子。因此,每次运行程序时,分数的顺序可能都不相同。

  1. srand(static_cast<unsigned int>(time(0))); 

接着,程序随机地对分数进行重新排序。
  1. random_shuffle(scores.begin(), scores.end()); 

random_shuffle()算法将序列中的元素进行乱序。该算法需要序列的起点迭代器和终点迭代器来进行乱序操作。在本例中,程序将scores.begin()和scores.end()返回的迭代器传递给算法。这两个迭代器表示需要对scores中的全部元素进行乱序操作。程序的执行结果是,scores包含了相同的分数,只是顺序不同。

最后程序显示分数,证明乱序成功。

技巧

尽管或许不需要对某个高分列表进行乱序操作,但对于游戏而言,random_shuffle()依然是个很有价值的算法。它可以用来洗牌,也可以打乱玩家在游戏的某一关中遭遇敌人的顺序。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇4.2.6 向量的索引 下一篇3.6.1 Tic-Tac-Toe Board程序简介

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: