![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL
文章平均质量分 73
刘好念
这个作者很懒,什么都没留下…
展开
-
[C++] C++生成随机数
本文给出了C++11中常用的用于生成等特定分布的随机数代码。原创 2024-03-11 14:16:24 · 714 阅读 · 0 评论 -
[C++]<numeric>头文件介绍
本文主要介绍了C++11标准下的中的accumulate()、adjacent_difference()、inner_product()、partial_sum()和iota()函数的用法和注意事项。并简要介绍了C++17标准下中新增的gcd()、lcm()和midpoint()函数。原创 2021-10-15 19:51:12 · 4797 阅读 · 4 评论 -
[STL]如何初始化指针vector
一、摘要vector是c++中一类经常用到的容器类,与数组相比vector类中存在一些内部函数,配合<algorithm>头文件中的函数可以方便地对vector进行插入、删除等操作。对于存储非指针类型(例如int、float)的vector可以使用赋值操作符=、循环遍历push_back()函数或者fill()函数进行初始化。然而存储指针类型的vector若依旧使用fill()函数进行初始化,所有指针都会指向同一个地址,这当然不是我们希望得到的结果,我们希望vector中每个指针都指向一个新原创 2021-09-13 10:55:51 · 4993 阅读 · 1 评论 -
[STL]priority_queue多种方式自定义排序
本文介绍了STL中priority_queue自定义排序的方法。原创 2021-07-26 13:04:35 · 15254 阅读 · 4 评论 -
[STL]set存储pair并自定义排序
本文介绍了C++中set<> 容器的基本使用方法,并通过一个具体用例介绍了使用set<>容器存储pair<>对象,以及自定义set<>容器排序规则的用法。还详细介绍了使用set容器存储pair对象时需要注意的事项。原创 2020-11-30 15:52:11 · 6418 阅读 · 0 评论 -
[STL]sort和priority_queue中使用仿函数时的不同
一、问题提出1.自定义比较函数的sort我们可以使用自定义的cmp函数、lambda函数或者less< int >()、greater< int >()作为自定义compare对象作为参数传给sort函数,达到自定义比较顺序的结果。代码如下:使用自定义cmp函数bool cmp(const int &a, const int &b){ return a<b;}sort(vec.begin(), vec.end(), cmp);使用lamb原创 2020-11-17 19:59:43 · 804 阅读 · 2 评论 -
[STL]为什么sort的自定义cmp函数中必须使用严格弱序(strict weak order)
一、背景之前在刷pat题时遇到过自定义sort中的cmp函数时,当排序数据过多时可能发生段错误。查询资料后发现是我写的自定义cmp函数中,当两个元素相等时返回的true,而产生了bug。当时只是大概知道只是因为sort的cmp函数要求严格弱排序(strict weak order),具体的原因并未深究。前几天在别人的博客中发现又有人在问这个问题,我又查了一点资料才算是大概了解了使用**严格弱排序(strict weak order)**的原因。在此记录,愿对读者有所帮助。二、严格弱排序(strict原创 2020-08-02 22:28:08 · 2426 阅读 · 0 评论 -
[STL]使用vector::erase对vector遍历删除
在对vector中的元素进行遍历删除时遇到了一点问题,查博客发现博客上并不靠谱。在此记录,共同进步。vector循环遍历正确代码: for(vector<int>::iterator it=vec.begin(); it!=vec.end();){ if(*it == 3){ vec.erase(it); }else{ ...原创 2019-07-29 15:45:49 · 13400 阅读 · 6 评论