-
1e6+5 = 1000005
表示很大的数时,以前都是疯狂巧零,如果用1e6+5 = 1000005来代替的话会方便很多,而且也不容易出错。 -
int mid=(l+r)>>1;//比特操作
用二进制的移位操作,来进行简单的乘除法,左移(>>)相当于乘,右移(<<)相当于除 -
fill函数,fill与memset函数的区别
因为memset函数按照字节填充,所以一般memset只能用来填充char型数组,(因为只有char型占一个字节)如果填充int型数组,除了0和-1,其他的不能。因为只有00000000 = 0,-1同理,如果我们把每一位都填充“1”,会导致变成填充入“11111111”
而fill函数可以赋值任何,而且使用方法特别简便
具体看小姐姐的博客:http://blog.csdn.net/liuchuo/article/details/52296646 -
stoi / atoi
将string 转化int的方法
stoi是string库中的函数,他的参数是string
ato是c里面的函数,他们都可以将字符串转为int,参数是const char*,因此在用string时,必须调c_str()方法将其转为char*的字符串。
比如
string s=“123”;
int v=atoi(s.c_str());
int u=stoi(s); -
reverse() 反向
#include<algorithm>
#include<iostream>
int main()
{
int a[10] = {};
for(int i=0;i<10;i++)
{
a[i]=i;
}
//转换0~5下标的元素
std::reverse(a,a+5);
for(int i=0;i<10;i++)
{
std::cout<<a[i]<<std::endl;
}
return 0;
}
-
ascii码
a的ASCII码97,记二进制:0110 0001
A的ASCII码65,记二进制:0100 0001
刚好差了32 -
string append方法的常用用法
添加几个相同的字符:
如str1.append(5, ‘.’);
详情:http://blog.csdn.net/air_wswn/article/details/7785739 -
sscanf和sprintf
http://blog.csdn.net/noodies/article/details/4386570
http://blog.csdn.net/sjf331/article/details/339254 -
向下取整和向上取整
http://blog.csdn.net/fightingforcv/article/details/50491311 -
tolower/toupper
大小写转换