c++ 语言细节

#include <iostream>
using namespace std;
int main()
{
     cout << " Hello World! " << endl;
     return 0;
}

1. iostream的意思是输入输出流。直接点说就是in(输入) out(输出) stream(流)。取in、out的首字母与stream合成。

11.29

在记录所有的可行遍历路径的时候,具体的一部分实现。怎么访问stack底部元素 vector 的resize函数用法
表示2的32次方这个数字


参考c++文档,栈只有top可以访问。 个人理解:起到去掉最后一个元素的作用v.resize( v.size()-1 ),这也揭示了vector实际上能够完全
替代栈和队列结构,因为vector的访问的特点,下标访问,实际上这也是栈和队列封装之后的特点,只给出了特定的接口。

1左移32位 ll t=1L<<32;

11.30
默认无参数的构造函数,


node(): step(0),head(0) {}

12.1

反向迭代器, 集合 多重集合问题

bitset使用


reverse_iterator it rbegin(最后一个元素的位置) rend(第一个元素的前一个地址) 还是 it++
multiset 即可 头文件也是set
参考:
什么是bitset

bitset 是STL库中的二进制容器,根据C++ reference 的说法,bitset可以看作bool数组,但优化了空间复杂度和时间复杂度,并且可以像整形一样按位与或。

使用方法

申明

bitset的申明要指明长度

1

 
bitset<length> bi


这样就申明了一个长度为length的名叫bi的bitset

赋值

bitset重载了[]运算符,故可以像bool数组那样赋值

bi[2] = 1;

这样就能将第二位赋值为1

常用函数

b1 = b2 & b3;//按位与
b1 = b2 | b3;//按位或
b1 = b2 ^ b3;//按位异或
b1 = ~b2;//按位补
b1 = b2 << 3;//移位
int one = b1.count();//统计1的个数

优化作用

常常碰到处理的数组只有0和1的变化,此时就可以使用bitset优化。比如求两个集合的交集可以使用按位与运算,求并集可以使用按位或运算

原文地址:https://www.cnblogs.com/paulzjt/p/5450047.html