C++常用的STL
来源:互联网 发布:lte网络结构优化 编辑:程序博客网 时间:2024/05/29 17:51
队列:
1、queue<>q 常用操作:
(1) q.front() 取队首元素;
(2)q.pop()删除队首元素;
(3)q.empty()判断队列是否为空;
(4)q.push()往队列插入一个元素,插到队尾
2、deque<>q(双向队列) 常用操作:
(1)q.empty()判断对列是否为空;
(2)q.front()得到队首元素;
(3)q.back()得到队尾元素;
(4)q.pop_back()删除队尾元素;
(5)q.pop_front()删除队首元素;
(6)q.push_back()往队尾中插入一个元素;
(7)q.push_front()往队首中插入一个元素;
3、priority_queue<>q (优先队列)常用操作:
(1)q.top()取队首元素;
(2)q.pop()删除队首元素;
(3)q.push()往队列中插入一个元素(自动回按照优先级排序);
(4)q.empty()判断队列是否为空;
(5)priority_queue<int, vector<int> ,greater<int> >Q; (小顶堆)
(6)priority_queue<int, vector<int> ,less<int> >Q; (大顶堆)
集合:集合实际上是棵红黑树,里面的元素是按照优先级排好的;
1、set<>S(不会出现相同元素)常用操作:
(1)S.insert()插入一个元素;
(2)S.erase()删除一个元素;
(3)S.count()判断某个元素在集合中的出现次数(1为出现,0为没有出现);
(4)S.find()在集合中查找某个元素,返回迭代器指针(返回S.end()时,则未找到);
(5)、S.clear()清空集合;
2、multiset<>S(多重集合,允许相同元素出现)常用操作与set<>S类似;
可变长数组vector<>G:
常用操作:
(1)、G.push_back()插入一个元素;
(2)、G.clear()清空G;
(3)、G[i]得到第i个元素(i从0开始);
(4)、G.size()可变长数组当前长度;
(5)、sort(G.begin(),G.end(),less<int>()) 从小到大排序;
(6)、sort(G.begin(),G.end(),greater<int>()) 从大到小排序;
栈:stack<>S常用操作:
(1)、S.push()栈中压入一个元素;
(2)、S.top()得到栈顶元素;
(3)、S.pop()弹出栈顶元素;
(4)、S.empty()栈是否为空;
map<>G常用的映射关系<int, int>,<string,int>,<char,int>;常用操作:
(1)、G.clear()清空;
(2)、G.count()返回某个关键字出现的次数;
map中的元素是按照关键字排好序的;
string str常见用法:
(1)、str.length() / str.size()得到字符串长度;
(2)、str.find()查找某段字符串或某个字母,返回第一次出现的下标,没有则返回-1;(参数可以是字符,也可以是字符串,还可以有三个参数,表示从某个特定的段中寻找)
(3)、str.substr()得到字符串的一个子串,参数可以是一个整数pos,返回pos到结尾处的子串;也可以是两个整数,返回两整数之间的子串;
sort()按关键字排序;
bool cmp(int a, int b){
return a < b;
}
lower_bound(a,a+n,x)数组a到a+n中值大于等于x的第一个元素的值;
unique(a,a+n)剔除相邻之间重复的字符;(注意是相邻的)
next_permutation(a,a+n)求下一个排列;
与字符串有关的函数
strstr()函数用来检索子串在字符串中首次出现的位置;
其原型为: char *strstr( char *str, char * substr );
strrchr() 函数用于查找某字符在字符串中最后一次出现的位置;
其原型为:char * strrchr(const char *str, int c);
strchr() 用来查找某字符在字符串中首次出现的位置;
其原型为:char * strchr (const char *str, int c);
与字符处理处理有关的函数
int tolower(int );
int toupper(int);
int isalpha(int );
int iscntrl(int);
int isdigit(int );
isgraph(int );
int lslower(int );
int isalnum(int);
isprint(int );
ispunct(int); 是否是标点字符
int isspace(int);
int isupper(int);
int isxdigit(int); 是否是16进制
c++ string操作
char数组装string
char s[];
string t = s;
- C++STL 常用算法
- C++STL 常用 函数 用法
- C++STL 常用 函数 用法
- C++STL 常用 函数 用法
- C++STL 常用 函数 用法
- C++STL 常用 函数 用法
- C++STL 常用 函数 用法
- C++STL 常用 函数 用法
- C++STL 常用 函数 用法
- C++STL 常用 函数 用法
- C++STL 常用 函数 用法
- C++STL 常用 函数 用法
- C++STL 常用 函数 用法
- C++STL 常用 函数 用法
- C++ STL写的常用函数
- C++STL中常用的容器下标[]运算
- C++STL里面7个常用容器的比较
- STL的常用算法
- 用记事本写第一个Servlet程序
- 以存储过程实现比对不同表的金额,提升测试效率
- makefile
- Hibernate_6_session的管理
- 黑马程序员--C语言知识汇总
- C++常用的STL
- EBS DBA指南笔记(二)
- excel HYPERLINK 如何超链接到某个文字
- LeetCode 118 Pascal's Triangle
- [LCA模板]POJ1330 Nearest Common Ancestors
- Java线程池的调用
- EBS DBA指南笔记(三)
- java接口的变量为什么是public static final 的
- [水]ZOJ1331