zoukankan      html  css  js  c++  java
  • C++实现随机洗牌算法

    随机洗牌算法就是让一组数据随机出现。

    #include <iostream>
    #include <vector>
    #include <ctime>
    #include <cstdio>
    using namespace std;
    
    // 随机洗牌算法
    void shuffle(vector<int>& vec)
    {
        int n = vec.size();
        if(n <= 0)
            return ;
        srand(time(0));
    
        for(int i = 0; i < n; i++)
        {
            //保证每次第i位的值不会涉及到第i位以前
            int index = i + rand()%(n-i);
            swap(vec[index], vec[i]);
        }
    }
    
    int main()
    {
        vector<int> vec;
        for(int i = 1; i <= 10; i++)
        {
            vec.push_back(i);
        }
        shuffle(vec);
    
        for(auto it : vec)
                cout << it << " ";
        return 0;
    }
  • 相关阅读:
    20191117-STD::讲解及求平均数例题
    计算机网络-ip分类
    游标cursor
    ajax
    django ORM
    urls
    templates
    views
    models
    setting
  • 原文地址:https://www.cnblogs.com/xiaokang01/p/12603618.html
Copyright © 2011-2022 走看看