自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Code::Blocks中static constexpr编译报错:undefined reference to “class::INFTY“

(C++98 风格兼容的方法),这种方法可以确保变量有正确的定义,让链接器能够找到它。

2024-10-03 21:25:27 428

原创 gcc 编译各阶段及所用编译参数

GCC编译过程及所用编译参数

2024-01-04 01:38:32 445 1

原创 LC822. 翻转卡片游戏

LC822.翻转卡片游戏 分析

2023-08-03 00:26:01 127

原创 C++ bitset

C++中不允许使用变量作为数组的长度定义数组,必须为常量值,c++中所有的内存需求都是在程序执行前通过定义的常量来确定的。(另外bitset变量实际上是按照字节数存储,如。这样要求是因为编译器在。

2023-07-27 23:05:24 704 1

原创 error: ambiguates old declaration ‘double round(double)’

今天在调试代码的时候遇到错误,在Stack Overflow找到了前人踩过的坑,记录一下。链接:https://stackoverflow.com/questions/14045643/error-ambiguates-old-declaration-double-rounddouble#include <iostream>#include <cmath>using namespace std;int round(double number);int main(){

2021-03-07 22:29:20 895

原创 STL算法-17堆(排序)算法

堆(排序)算法make_heap():建堆push_heap():插入堆元素pop_heap():删除堆元素sort_heap():堆排序重排成普通排序#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(){ vector<int> ivec; for (int i = 3; i <= 7; ++i)

2020-12-22 14:39:31 139

原创 STL算法-16根据第n个元素排序

根据第n个元素排序nth_element(b, n, e)nth_element(b, n, e, p)对比partition()算法容器元素排序后,使第n个位置上元素就绪#include <iostream>#include <deque>#include <algorithm>#include <functional>#include <iterator>using namespace std;int main()

2020-12-22 08:33:13 101

原创 STL算法-15局部排序

局部排序partial_sort(b, se, e)partial_sort(b, se, e, p)partial_sort_copy(sb, se, db, de)源区间[sb, se),目标区间[db, de)返回值:复制后的元素的下一个位置partial_sort_copy(sb, se, db, de, p)默认从小到大升序排序。partial_sort()代码示例#include <iostream>#include <deque>#inc

2020-12-21 22:48:27 158

原创 STL算法-14对所有元素排序

对所有元素排序sort(b, e):默认从小到大排序sort(b, e, p)stable_sort(b, e)stable_sort(b, e, p)注意:不适用于list,因为list不可使用随机存取迭代器,排序算法要求使用随机存取迭代器,list有成员函数sort().sort()代码示例#include <iostream>#include <deque>#include <algorithm>#include <functional

2020-12-21 19:58:13 65

原创 STL算法-13重排和分区

重排和分区random_shuffle():随机重排partition():数据分区,符合规则的数据前移。返回迭代器,指向分区后中间的位置。谓词决定分区规则。分区不稳定。stable_partition():#include <iostream>#include <vector>#include <list>#include <set>#include <algorithm>#include <functi

2020-12-21 08:12:06 111

原创 STL算法-12排列组合

排列组合排列组合前的数据必须先排序。next_permutation():原始数据为升序,从小到大排列prev_permutation():原始数据为降序,从大到小排列函数返回值为false:所有排列组合都已经排完#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(){ vector<int> ivec; ive

2020-12-20 23:22:33 274

原创 STL算法-11逆转和旋转

逆转和旋转reverse()reverse_copy()rotate()retate_copy()#include <iostream>#include <vector>#include <list>#include <algorithm>#include <functional>#include <iterator>using namespace std;int main(){ vector&lt

2020-12-20 20:56:42 148

原创 STL算法-10删除性算法

删除性算法remove()remove_if()remove_copy()remove_copy_if()unique()unique_copy()并不是真正的删除,而是把后面的元素前移,覆盖被删除元素(逻辑删除),真正删除需要用erase():将算法与容器分离返回新的逻辑终点remove()和remove_if()#include <iostream>#include <vector>#include <list>#include <

2020-12-20 15:48:51 160

原创 STL算法-09替换算法

替换算法replace(b, e, ov, nv)replace_if(b, e, p, v)replace_copy(b1, e1, b2, ov, nv)replace_copy_if(b1, e1, b2, p, v)#include <iostream>#include <list>#include <algorithm>#include <functional>#include <iterator>using n

2020-12-20 15:09:13 92

原创 STL算法-08填充新值

填充新值fill(b, e, v):用固定常量v填充迭代器[b, e)区间元素。fill_n(b, n, v):可以指定填充个数n,若为空,则必须使用插入迭代器generate(b, e, p)generate_n(b, n, p)#include <iostream>#include <list>#include <string>#include <algorithm>#include <iterator>using n

2020-12-18 09:53:16 99

原创 STL算法-07交换算法

交换算法swap_ranges(b, e, b2):其他交换算法:容器的swap()成员函数赋值操作#include <iostream>#include <vector>#include <deque>#include <algorithm>using namespace std;int main(){ vector<int> ivec1; vector<int> ivec2; ivec1.

2020-12-17 21:57:23 98

原创 STL算法-06复制元素

复制元素copy():将数据从一个容器拷贝到另一个容器,或将数据从容器的一个区间拷贝到另一个区间。copy_backward()拷贝时必须保证有足够的空间。没有copy_if()算法,可以使用remove_ copy_if()算法复制过程中要逆转元素次序,使用reverse_copy()算法把容器内所有元素赋值给另一个容器,要使用赋值操作符或容器的assign()成员函数复制过程中别除某些元素,使用remove_copy()和remove_copy_if()算法复制过程中修改元素,使用tr

2020-12-17 09:02:52 146

原创 STL算法-05区间的比较

区间的比较equal(b, e, b2):第一个容器迭代器[b, e)和第二个容器b2起始的迭代器指向的数据进行比较是否相等。equal(b, e, b2, p):mismatch(b, e, b2):查找两个容器中第一个不相等的数据。mismatch(b, e, b2, p)lexicographical_compare(b, e, b2, e2):比较第一个迭代器区间[b, e)是否比第二个[b2, e2)小lexicographical_compare(b, e, b2, e2, p)

2020-12-16 19:25:07 240

原创 STL算法-04for_each和transform

STL算法-for_each()for_each(b, e, p)使用for_each()算法遍历数据使用for_each()和函数对象修改数据使用for_each()的返回值#include <iostream>#include <vector>#include <algorithm>using namespace std;void print(int elem){ cout << elem << ' ';}t

2020-12-15 10:13:26 205

原创 STL算法-03查找算法

常用查找算法find()find_if()search_n()search()find_end()first_first_of()adjacent_find()find()和find_if()find()和find_if()是线性查找,查找速度较慢。查找的结果是迭代器。如果是已序区间,可以使用已序区间查找算法:binary_search()includes()lower_bound()upper_bound()关联式容器有等效的成员函数find(),时间复杂度为对数

2020-12-15 10:12:06 189

原创 STL算法-02最小值和最大值

最小值和最大值min_element(b, e):返回一个迭代器min_element(b, e, op):max_element(b, e):max_element(b, e, op):第三个参数op可写可不写,max_element()和min_element()默认是从小到大排列,然后max_element()输出最后一个值,min_element()输出第一个值,但是如果自定义的op函数写的是从大到小排列,那么会导致max_element()和min_element()的两个结果是对调的

2020-12-15 10:07:37 270

原创 STL算法-01元素计数

01-元素计数countcount_if:有_if则允许传递一个函数或一个函数对象作为谓词count和count_if是所有容器都可以使用的通用算法,线性查找,相较于成员函数,速度较慢。关联容器的等效成员函数set.count:比count更快,因为set已排序。multiset.countmap.countmultimap.count代码示例#include <iostream>#include <algorithm>#include <ve

2020-12-15 09:36:09 176

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除