目录
用迭代器对整个数组做一次遍历
for (auto &it:a) //后面跟操作,这样就不用写迭代器的定义了
求出数组中最小的值,就不用写循环了
int arr[5]={1,2,3,4,5};
int k=*max_element(arr,arr+5); //输出5
k=*min_element(arr,arr+5); //输出1
从数组的地址中获得下标
//就比如min_element会返回地址,以2为例
int pla=max_element(arr,arr+5)-arr;
//其实讲指针的时候应该都学过,但是这个挺常用的
多组数据输入,都为0时退出的正确写法
while (scanf("%d%d%d%d",&n,&m,&l,&r) !=EOF &&(n||m||l||r) )
对于一个环,前进n步与后退n步的正确写法
//前进,默认起点为a,环的总长为m
int front=(a+n)%m; //毕竟都是正的,
//后退,两种写法,写法1更严谨一点
int back=((a-n)%m+m)%m;
int back=(a-n+m)%m;//如果n故意写的很大,得出的下标会是负值
结构体的初始化
struct node{
int val;
node *l,*r;
node (int val=0,node *l=NULL,node *r=NULL):val(val),l(l),r(r){}
};
string 的大小写转换
transform(b.begin(),b.end(),b.begin(),::tolower);//小写化
判断一个数是否为2的幂
int i;
int tem=i&(i-1);
if(tem==0)
cout<<"YES";