c++基础之随机数生成

本文介绍了C++中随机数生成的基本方法,包括使用srand(time(NULL))作为种子生成随机序列,并探讨了如何生成互不相同的随机数。此外,还详细讲解了vector容器的定义、初始化、常用操作方法及遍历技巧。

今天的学习笔记

1.

基本的随机数生成函数srand(参数),参数表示的是生成种子,如果种子不变的话,随机序列也不会变,常用srand(time(NULL))

即系统时间来生成种子,由于时间一直在变,所以生成的种子也在变。使用时间要#include<ctime>

2.

生成互不相同的随机数

这里插入容器的使用,引用自https://www.cnblogs.com/cxq0017/p/6555533.html

 

1.定义和初始化
     vector<int> vec1;    //默认初始化,vec1为空
     vector<int> vec2(vec1);  //使用vec1初始化vec2
     vector<int> vec3(vec1.begin(),vec1.end());//使用vec1初始化vec2
     vector<int> vec4(10);    //10个值为0的元素
     vector<int> vec5(10,4);  //10个值为4的元素
  
     //2.常用操作方法
     vec1.push_back(100);            //尾部添加元素
     int size = vec1.size();         //元素个数
     bool isEmpty = vec1.empty();    //判断是否为空
     cout<<vec1[0]<<endl;        //取得第一个元素
     vec1.insert(vec1.end(),5,3);    //从vec1.back位置插入5个值为3的元素
     vec1.pop_back();              //删除末尾元素
     vec1.erase(vec1.begin(),vec1.begin()+2);//删除vec1[0]-vec1[2]之间的元素,不包括vec1[2]其他元素前移
    cout<<(vec1==vec2)?true:false;  //判断是否相等==、!=、>=、<=...
     vector<int>::iterator iter = vec1.begin();    //获取迭代器首地址
    vector<int>::const_iterator c_iter = vec1.begin();   //获取const类型迭代器
    vec1.clear();                 //清空元素
  
     //3.遍历
     //下标法
    int length = vec1.size();
     for(int i=0;i<length;i++)
     {
        cout<<vec1[i];
     }
     cout<<endl<<endl;
     //迭代器法
    vector<int>::iterator iter = vec1.begin();
     for(;iter != vec1.end();iter++)
     {
        cout<<*iter;
     }

 

使用数组要#include<vector>

使用random_shuffle(数组.begin(),数组.end())函数打乱数组顺序,('\n'为转义字符)

需要#include <algorithm>         包含random_shuffle的库

这个函数貌似只能用容器数组。

3.

产生01随机矩阵

把范围限定在(0,1),用时间序列

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值