摘要:
1.安装vscode 2.下载mingw64压缩包,并解压 3.添加系统环境变量,C:\mingw64\mingw64\bin 4.win+r输入cmd打开命令行,输入g++ -v,查看mingw64环境变量是否正确配置 5.在vscode的插件商店中搜索c/c++,code runner安装 6. 阅读全文
摘要:
1.map容器底层结构和set容器类似。但是map容器中的没有元素是一个键值对,即一个pair类型的元素,first为元素的键,second为元素的值。 2.map容器中会按照元素的键值来进行排序,并且map容器中不允许出现相同的键值的元素,multimap容器中允许出现键值一样的元素 3.不能通过 阅读全文
摘要:
1.set容器的底层结构是红黑树。对set中元素的操作就是对这棵树上的结点进行操作。 2.由于红黑树是一个有序的结构,所以set的迭代器不允许修改元素的值,因为如果修改了元素的值那么为了保证set的有序结构,就还需要重新再次排序,所以set的迭代器不允许修改元素的值,换句话说就是const的。 3. 阅读全文
摘要:
1.随机访问迭代器的意思是可以在该迭代器指向的位置基础上向前或者向后移动n的位置,还能获取到容器的数据。 2.之所以要去判断一个容器的迭代器是否是随机访问迭代器,是因为stl系统提供的很多算法都需要容器的迭代器必须是随机访问迭代器才能使用。 比如:std::sort()算法对于vector是可用的, 阅读全文
摘要:
1.list容器是一种链表容器。它存储的数据在物理内存上并不是连续的。list容器中的每一个元素就是一个结点,这个结点包括两部分:一是存储的数据,二是指向下一个结点的指针和上一个结点的指针。这样即使是在物理上不连续的空间也可以通过这些指针将全部数据串起来。 2.由于list的结构它不像vector容 阅读全文
摘要:
queue是一种先进先出的容器,他有两个端口,允许从尾端新增元素,从头端移除元素。 使用push方法可以从尾端插入元素,pop方法可以从头端移除元素。 back用于返回最尾端元素,front用于返回最头端元素。 queue不提供迭代器用于遍历,只能访问到队列的最头端元素和尾端元素。 使用empty判 阅读全文
摘要:
stack容器是一个先进后出的容器,stack只有顶端的元素才能被外界访问到,不提供遍历也不提供迭代器。 1.构造函数提供两种,一种是新建一个空对象,另一个是使用一个stack的对象来进行构造 std::stack<int> sta; std::stack<int>(sta) sta1; 2.赋值操 阅读全文
摘要:
1.需要加入头文件:#include <algorithm> 2.sort算法,对容器(vector,deque等)中的元素进行排序 (1)默认sort算法的排序规则是从小到大 std::vector<int> vec; vec.push_back(4); vec.push_back(6); vec 阅读全文
摘要:
1.常规用于从前往后遍历的迭代器iterator std::vector<int> vec; for (int i = 0; i < 4; i++) { vec.push_back(i); } for (std::vector<int>::iterator it = vec.begin(); it 阅读全文
摘要:
1.deque容器和vector容器最大的不同是deque容器的两端都是开口的,可以从容器的头部插入或删除,也可以从尾部插入或删除。而vector容器是一个后端开口的容器,一般只能从尾部插入和删除,当然vector也支持从头部插入和删除,但是那并不是直接在头部之前插入或者直接删除头部元素,比如头部插 阅读全文