STL记录

STL

sstream

include

用 stringstream将不同数据类型变量转换成string型

cout格式化输出:

使用fixed,showpoint,setprecision

setprecision

作用:控制输出流显示浮点数的数字个数,setprecision(n)就是输出的n个数,会有四舍五入。

showpoint

小数部分末尾为0时,是输不出来的!要想输出来,就得用showpoint了.

setprecision与fixed

用于保留几位小数
语法:在输出语句前声明:cout.setf(ios::fixed);

比如:double s=20.7843909,代码如下:

cout.setf(ios::fixed);
cout<<setprecision(1)<<s<<endl; //输出2.8  
cout<<setprecision(2)<<s<<endl; //输出21.78 多个点
cout<<setprecision(3)<<s<<endl; //输出20.784
cout<<setprecision(6)<<s<<endl; //输出20.784391
cout<<setprecision(7)<<s<<endl; //输出20.7843909
cout<<setprecision(8)<<s<<endl; //输出20.78439090

setiosflags() 算子

setiosflags() 算子实际上是一个库函数,它以一些标志作为参数,这些标志可以是在 iostream 头文件中定义的以下几种取值,它们的含义和同名算子一样。

标 志 作 用
ios::left 输出数据在本域宽范围内向左对齐
ios::right 输出数据在本域宽范围内向右对齐
ios::internal 数值的符号位在域宽内左对齐,数值右对齐,中间由填充字符填充
ios::dec 设置整数的基数为 10
ios::oct 设置整数的基数为 8
ios::hex 设置整数的基数为 16
ios::showbase 强制输出整数的基数(八进制数以 0 开头,十六进制数以 0x 打头)
ios::showpoint 强制输出浮点数的小点和尾数 0
ios::uppercase 在以科学记数法格式 E 和以十六进制输出字母时以大写表示
ios::showpos 对正数显示“+”号
ios::scientific 浮点数以科学记数法格式输出
ios::fixed 浮点数以定点格式(小数形式)输出
ios::unitbuf 每次输出之后刷新所有的流
ios::stdio 每次输出之后清除 stdout, stderr
这些标志实际上都是仅有某比特位为 1,而其他比特位都为 0 的整数。
fill and memset
  • fill(头迭代器,尾迭代器,值)
  • memset(void *s, int v , size_t n )

elemtype num[maxn]={1};数组全部初始化为1


ctype.h
isdigit(int ch) 是数字返回非零,否则返回0
isalpha(int ch) 是字母返回非零,否则返回0
isalnum(int ch) 是数字或字母返回非零,否则返回0
islower(int ch) 是小写字母返回非零,否则返回0
isupper(int ch) 是大写字母返回非零,否则返回0
int tolower(int ch) 返回大写字母的小写形式
int toupper(int ch) 返回小写字母的大写形式


cstring
int strcmp(const char*s1,const char *s2) 比较字符串s1,s2,s1=s2时返回0,s1<s2时返回负值,s1>s2时返回正值
void memset(void *s,int ch,size_t n) 用ch填充s中的n个字节,用于对数组的快速初始化,通常初始化为0或1
char *strcpy(char *dest,const char *src) 将含有结束符的字符串src复制到dest中(dest要有足够的空间),并返回指向dest的指针
unsigned int strlen(char *s) 返回截止到结束符的字符串s的长度


algorithm
max(a,b) 返回a,b中较大的那一个
min(a,b) 返回a,b中较小的那一个
abs(a) 返回a的绝对值,a必须为整型,浮点型需要用math.h下的fabs
swap(a,b) 交换a,b的值
reverse(a,a+n) 将a中元素倒序,一般用于数组,template的方法暂时还不会用-_-,a为数组首地址,n为数组长度
fill(a,a+n,value) 将[a,a+n)的元素填充值value,可用template,memset一般填1或0,这个可以填充其他值
sort(a,a+n,f) 将[a,a+n)中的元素按照比较函数f进行排序,可用template
lower_bound(a,a+n,key) 返回[a,a+n)中第一个大于等于key的位置,如果所有元素小于key,返回末地址,末地址是正好越界的!查找方法为二分查找!
upper_bound(a,a+n,key) 返回[a,a+n)中大于key的第一个位置,没找到返回末地址,末地址正好越界!查找方法为二分查找!
max_element(a,a+n) 查找[a,a+n)最大值所在地址
min_element(a,a+n) 查找[a,a+n)最小值所在地址


cmath
ceil(x) 对x向上取整
floor(x) 对x向下取整
fabs(x) 返回x的绝对值
sqrt(x) 返回x的开方
pow(x,y) 返回x的y次方
round(x) 将x四舍五入取整
sin(x),cos(x),tan(x) x为弧度制的角度
asin(x),acos(x),atan(x)
log(x) 返回以自然指数为底的x的对数


posted @ 2021-02-13 23:56  fakerbaby  阅读(96)  评论(0)    收藏  举报