随机数组

来源:互联网 发布:网络工程学什么 编辑:程序博客网 时间:2024/06/02 04:51
目的:给数组洗牌,随机打乱顺序
思路:
(1)遍历数组,每次随机生成一个坐标位置

(2)交换当前遍历位置和随机生成的坐标位置的数字,直到遍历到最后一个元素

代码实现如下:

#include<iostream>#include<vector>#include<time.h>     //是C/C++中的日期和时间头文件。用于需要时间方面的函数#include<stdlib.h>  //定义了RAND_MAX,srand()等using namespace std;void shuffle(vector<int> &v) {if (v.size() <= 1) return;for (int i = 0; i<v.size(); i++) {int temp = rand() % v.size();swap(v[i], v[temp]);}}int main() {srand((unsigned)time(NULL));vector<int> test = { 0,1,2,3,4,5 };shuffle(test);for (auto t:test) {cout << t << ' ';}cout << endl;}



原创粉丝点击