1. STL常用
-
fill(begin,end,value)
把数组或者容器中某一区间赋为相同的值。和memset()
不同,这里可以是任意值。对二维数组的赋值,要使用fill(G[0],G[0]+MAXV*MAXV,value)
。 -
lower_bound(first,last,value)
返回有序数组或者容器中第一个大于等于value元素的位置。数组返回该位置的指针,容器返回该位置的迭代器。
upper_bound(first,last,value)
返回第一个大于value的元素的位置。
如果没有这样的元素,则返回可以插入该元素位置的指针或者迭代器。 -
cin.getline(strname,length)
用于输入字符数组char str[100]
。遇到换行符自动切换为空字符,不在保存在输入队列,因此不用getchar吸收 -
getline(cin,strname)
string头文件下,用于输入整行string。首行前要吸收换行符。 -
cin.ignore()
忽略一个字符,可用于吸收换行符。 -
str.c_str()
string转换为字符数组,可以用printf输出。 -
stoi(str)
将string转换为数字串,直到遇到第一个非法字符为止。需要首字符是数字或者空格,否则返回错误。 -
atoi(str)
将string转换为数字串,直到遇到第一个非法字符为止。首字符为非法字符时,输出0。 -
to_string()
将数值型转换为string。需要包含头文件string。 -
字符串判断
-
sscanf()
sscanf将字符数组转换为数字,输入到数字变量中。 -
sprintf()
sprintf将数字转换为字符数组,输出到字符数组变量中。
char c[50] = "123";
int a;
sscanf(c, "%d", &a); // 不要忘记 “&”
int b = 567;
sprintf(c, "%d", b);
cout << a << endl << c;
max_element()
和min_element()
寻找容器中的最大值或最小值(返回的是迭代器,所以输出值的话要在前面加 *)tolower()
字母转换为小写。toupper()
字母转换为大写