随笔分类 - Cpp语法基础
摘要:深入二分思想 二分在实际使用中常常会出现死循环的问题 这是因为我们对二分临界状态的不熟悉而导致的,这里介绍一种通用的分界想法: 整数二分: int l = begin - 1, r = end + 1; while (l + 1 != r) { int mid = l + r >> 1; if (j
阅读全文
摘要:位运算笔记 对二进制数进行直接操作: 基础操作: 例: a=0000 1101; b=0011 0101; 与:a&b==0000 0101;//当两个数的第i位都为1时,a&b的第i位才为1 或:a|b==0011 1101;/*当两个数的第i位都为0时,a|b的第i位才为0 或者说两个数的第i位
阅读全文
摘要:STL set 头文件set主要包括set和multiset两个容器,分别是“有序集合”和“有序多重集合” 即前者的元素不能重复,而后者可以包含若干个相等的元素 set和multiset的内部实现是一棵红黑树,它们支持的函数基本相同 include声明 #include <set> 函数声明 set
阅读全文
摘要:STL queue&deque&stack queue主要包括循环队列queue和优先队列priority_queue两个容器 stack包含栈容器 include 头文件声明 #include <queue> #include <deque> #include <stack> 声明 queue<i
阅读全文
摘要:STL vector vector是动态数组,支持随机访问,不支持在任意位置O(1)插入为,元素的增删一般在末尾进行 include 头文件声明 vector a; 相当于声明一个长度动态变化的int数组 vector b[233]; 相当于声明一个第一维长233,第二维长度动态变化的int数组 s
阅读全文