摘要
0、C++刷题万能头文件
0.1、 `bits/stdc++.h` ChatGPT的介绍
bits/stdc++.h
是一个非标准的 C++ 头文件,它通常用于方便地包含 C++ 标准库中的所有头文件。该头文件通常出现在一些在线编程竞赛或者一些 C++ 教学资源中,因为它可以减少手动包含标准库头文件的工作量,使得编写简短的代码变得更加方便。这个头文件实际上并不是 C++ 标准库的一部分,而是一些编译器提供的特定功能。通常情况下,它会包含 C++ 标准库中的所有头文件,以及一些其他系统头文件。但是,使用它也有一些缺点,比如可能会增加编译时间和代码的可移植性问题。
一般来说,如果你不是在特定的比赛或者环境下工作,最好避免使用这个头文件,而是手动包含你需要的具体的标准库头文件,以确保代码的可移植性和可读性。
0.2、一般用法
该头文件在没有oj,需要手动引入头文件,手动写输入输出的时候,使用该头文件会十分方便。
一般可以直接这样写:
#include<bits/stdc++.h>
using namespace std;
int main()
{
return 0;
}
1、简介
C++ Standard Template Library STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数。
STL 不是面向对象的编程模式,而是一种泛型编程。
STL具有容器概念和容器类型,比如序列容器vector、deque、list、forward_list、queue、priority_queue、stack、array;关联容器set、multiset、map、multimap;无序关联容器unordered_set、unordered_multiset、unordered_map、unordered_multimap。
2、string
3、vector
向量(vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。
3.1、构造函数
方法名 | 说明 |
---|---|
vector() |
创建一个空vector |
vector(int nSize) |
创建一个vector,元素个数为nSize |
vector(int nSize,const t& t) |
创建一个vector,元素个数为nSize,且值均为t |
vector(const vector&) |
复制构造函数 |
vector(begin,end) |
复制[begin,end)区间内另一个数组的元素到vector中 |
3.2、增加函数
方法名 | 说明 |
---|---|
void push_back(const T& x) |
向量尾部增加一个元素X |
iterator insert(iterator it,const T& x) |
向量中迭代器指向元素前增加一个元素x |
iterator insert(iterator it,int n,const T& x) |
向量中迭代器指向元素前增加n个相同的元素x |
iterator insert(iterator it,const_iterator first,const_iterator last) |
向量中迭代器指向元素前插入另一个相同类型向量的[first,last)间的数据 |
3.3、删除函数
iterator erase(iterator it)
:删除向量中迭代器指向元素iterator erase(iterator first,iterator last)
:删除向量中[first,last)中元素void pop_back()
:删除向量中最后一个元素void clear()
:清空向量中所有元素
4.遍历函数
reference at(int pos)
:返回pos位置元素的引用reference front()
:返回首元素的引用reference back()
:返回尾元素的引用iterator begin()
:返回向量头指针,指向第一个元素iterator end()
:返回向量尾指针,指向向量最后一个元素的下一个位置reverse_iterator rbegin()
:反向迭代器,指向最后一个元素reverse_iterator rend()
:反向迭代器,指向第一个元素之前的位置
5.判断函数
bool empty() const
:判断向量是否为空,若为空,则向量中无元素
6.大小函数
int size() const
:返回向量中元素的个数int capacity() const
:返回当前向量所能容纳的最大元素值int max_size() const
:返回最大可允许的 vector 元素数量值
7.其他函数
void swap(vector&)
:交换两个同类型向量的数据void assign(int n,const T& x)
:设置向量中前n个元素的值为xvoid assign(const_iterator first,const_iterator last)
:向量中[first,last)中元素设置成当前向量元素
8.看着清楚
- push_back 在数组的最后添加一个数据
- pop_back 去掉数组的最后一个数据
- at 得到编号位置的数据
- begin 得到数组头的指针
- end 得到数组的最后一个单元+1的指针
- front 得到数组头的引用
- back 得到数组的最后一个单元的引用
- max_size 得到vector最大可以是多大
- capacity 当前vector分配的大小
- size 当前使用数据的大小
- resize 改变当前使用数据的大小,如果它比当前使用的大,者填充默认值
- reserve 改变当前vecotr所分配空间的大小
- erase 删除指针指向的数据项
- clear 清空当前的vector
- rbegin 将vector反转后的开始指针返回(其实就是原来的end-1)
- rend 将vector反转构的结束指针返回(其实就是原来的begin-1)
- empty 判断vector是否为空
- swap 与另一个vector交换数据
评论区
0/2048