21xrx.com
2024-11-05 14:50:31 Tuesday
登录
文章检索 我的文章 写文章
C++洗牌算法:让你的程序随机起来!
2023-07-13 15:05:12 深夜i     --     --
C++ 洗牌算法 随机化 程序 数组

在程序开发中,经常需要随机产生一些数据或者随机打乱一些数据的顺序,C++中有一个非常好用的函数——洗牌算法(shuffle)。这个函数可以让你的程序变得随机起来。

洗牌算法会将一个序列打乱,产生一个随机排列。在C++中,你可以通过使用algorithm头文件中的shuffle函数来实现洗牌算法。

shuffle函数有两个参数:第一个参数是指向序列的起始位置的迭代器,第二个参数是指向序列的结束位置的迭代器。以下是一个简单的示例:


#include <iostream>

#include <algorithm>

#include <vector>

using namespace std;

int main()

{

  vector<int> myvector;

  // 添加 1 到 10 的数到 myvector

  for (int i=1; i<=10; ++i) myvector.push_back(i);

  // 打乱 myvector

  random_shuffle(myvector.begin(), myvector.end());

  // 输出 myvector

  cout << "打乱后的 myvector 包含:";

  for (int i=0; i<myvector.size(); ++i)

    cout << " " << myvector[i];

  cout << endl;

  return 0;

}

输出:

打乱后的 myvector 包含: 9 8 7 2 5 6 3 1 10 4

这个程序首先创建一个包含数字1到10的vector myvector,然后它调用shuffle函数来打乱vector中的数字。最后,程序输出打乱后的vector myvector。

洗牌算法是一个非常强大的工具,可以让你的程序变得更加随机和有趣。使用洗牌算法,你可以轻松地创建一些游戏或者其他需要随机性质的程序。

  
  
下一篇: C++ 复数乘法

评论区

{{item['qq_nickname']}}
()
回复
回复