常用C++库函数与STL函数

1、ctype.h

isalnum:判断一个字符是不是字母或数字

isdigit:判断一个字符是不是数字

isalpha:判断一个字符是不是字母

islower:判断一个字符是不是小写字母

isupper:判断一个字符是不是大写字母

tolower:将一个字母字符转成小写字母

toupper:将一个字母字符转成大写字母

2、stdlib.h

atoi:将string转为int

rand:产生随机数

3、string.h

memcpy:memcpy(b,a,sizeof(a)) 把a数组复制到b数组 

memset:memset(a,0,sizeof(a)) 把a数组置0

4、string

stoi:将string转为int

to_string:将数字转换成字符串

5、algorithm

sort:排序,默认为升序

lower_bound:第一个不小于value的值的位置

upper_bound:第一个大于value的值的位置

min:求最小值

max:求最大值

next_permutation:全排列

6、map

map可以建立从key到value的映射

first为key,second为value,以下为map遍历的一种方法:

map<string, int> ans;
for (map<string, int>::iterator iter = ans.begin(); iter != ans.end(); iter++)
	cout << iter->first << " " << iter->second << endl

7、queue

empty:队列是否为空

size:队列长度

front:取队头元素

push:元素进队尾

pop:队头元素出队

8、priority_queue

empty:队列是否为空

size:队列长度

top: 取队头元素

push:元素进队尾

pop:队头元素出队

升序优先队列定义方式如下:

#include<queue>
using namespace std;
priority_queue<long long,vector<long long>,greater<long long> > q;

9、set

set的一个特点是元素不重复

count:count为0时,该元素不存在;count为1时,该元素已存在

insert:插入元素

size:集合长度

10、stack

empty:栈是否为空

size:栈长度

top: 取栈顶元素

push:元素进栈顶

pop:栈顶元素出栈

11、vector

assign:v2.assign(v1.begin(), v1.end()) 将v1的内容复制给v2

size:容器长度

push_back:元素入容器尾

容器遍历的一种方法如下:

vector<int> v1;
for (vector<int>::iterator iter = v1.begin(); iter != v1.end(); iter++)
    cout << *iter << " ";

猜你喜欢

转载自blog.csdn.net/ryo_218/article/details/84889021