header tips

#include<cstdio>  

在C++中拥有在C语言里一样的语法,像输入输出。

#include<cstring>  

包含很多字符串函数,如复制、比较是否相等、字符串连接。

#include<iostream>  

输入输出流,包括输出格式的控制

#include<cstdlib>  

在C++中拥有在C语言里一样的语法,像开辟空间释放空间函数calloc、malloc,realloc和free;随机数rand。

#include<bitset>  

相当于一个多位二进制数,八位一字节,支持基本的位运算操作。

#include<cmath>

数学函数,和C语言一样,有绝对值函数、开平方函数、求幂方函数等等。

#include<algorithm>  

算法头文件,包括很多常用函数,像find_if、for_each、sort、partial_sort。

#include<string>  

stl容器,有初始化、拼接、赋值、查找、替换、比较、子串、插入和删除操作。

 

#include<vector> 

stl容器,动态数组(可变数组),也叫单口容器,有初始化、常用赋值操作、存取、插入、删除、大小操作。

 

 

#include<stack>  

栈容器,先进后出,栈不能遍历,不支持随机存取,只能通过top从栈顶获取和删除元素,不提供迭代器。常用API有构造函数,赋值操作,数据存取操作和大小操作。

#include<list>  

链表容器

链表是由一系列的结点组成,结点包含两个域,一个数据域,一个指针域。

链表内存是非连续的,添加删除元素,时间复杂度都是常数项,不需要移动元素,比数组添加删除效率高。

链表只有在需要的时候才分配内存。

链表 只要拿到第一个结点,相当于拿到整个链表。

链表需要额外的空间保存结点关系 前驱后继。

常用API有构造函数,数据元素插入删除操作,大小操作,赋值操作,数据存取和反转排列顺序。

#include<deque>  

双口容器,支持随机存取。所谓双向开口,意思就是可以在头尾两端分别做元素的插入和删除操作。

双端插入和删除元素效率高。

指定位置插入也会导致数据元素移动,降低效率。

可随机存取,效率高.。

常用API有构造函数,赋值操作,大小操作,双端插入删除操作,数据存取。

#include<set>  

二叉树容器

所有元素会根据元素的值自动进行排序。

set是以RB-tree(红黑树,平衡二叉树的一种)为底层机制,其查找效率非常好。

set容器中不允许重复元素,multiset允许重复元素。

常用API有构造函数,赋值操作,大小操作,插入删除操作,查找操作。

#include<map>  

map相对于set区别,map具有键值和实值,所有元素根据键值自动排序,pair的第一元素被称为键值,第二元素被称为实值,map也是以红黑树为底层实现机制的。

常用API有构造函数,赋值操作,大小操作,插入删除操作,查找操作。

#include <bits/stdc++.h>

万能头文件,包含了目前c++所包含的所有头文件。可替换所有头文件。

 

 

 

以上可作为了解和复习资料之用。

posted on 2022-04-22 22:36  ReadyLoveMiku  阅读(17)  评论(0编辑  收藏  举报